알고리즘2023. 1. 14. 18:10
728x90

[ 문제 ]

https://softeer.ai/practice/info.do?idx=1&eid=362 

 

Softeer

연습문제를 담을 Set을 선택해주세요. 취소 확인

softeer.ai

 

[ 코드 ]

n = int(input())

for i in range(n):
    a,b = map(int,input().split(' '))
    sum = a+b
    print("Case #%d: %d" %(i+1,sum))

 

[ 해결 아이디어 ] - 형식 지정 출력

 

* 문제 발생

처음에는 다음과 같은 코드로 print 했다.

print("Case #",i+1," ",sum)

 

하지만 print( , , )는 각 인자들을 띄어쓰기로 연결한다.

얼핏 보기에는 맞아보였지만 코드를 돌려보니 띄어쓰기가 틀렸다.

(노란색으로 표시한 부분이 print문을 ','를 이용 했을 때 발생하는 띄어쓰기이다.)

 

* 해결

그래서 형식을 지정해서 출력하는 방법으로 다시 시도했다.

이 방법은 따옴표 안에 원하는 형식으로 쓰고 거기에 들어가는 변수를 지정해주는 방법이다.

 

즉, Case #1: 2 이렇게 표현하고 싶다면 print 구문 안에 Case #%d%d 이렇게 적어주면 된다. (%d는 정수를 의미)

그리고 뒤에오는 %에는 순서대로 %d에 넣을 변수를 입력해준다.

 

print("Case #%d%d%(i+1,sum))

 

간단하게 실행 결과를 보여주면 다음과 같다.

i = 0
sum = 2
print("Case #%d: %d" %(i+1,sum))

 

-> 코드 실행 결과

    첫 번째 %d에는 i+1 값인 1이 출력되었다.

    두 번째 %d에는 sum 값인 2가 출력되었다.

 

 

[ 결과 ]

반응형
Posted by mminky

댓글을 달아 주세요

알고리즘2023. 1. 14. 17:56
728x90

[ 문제 ]

https://softeer.ai/practice/info.do?idx=1&eid=1016 

 

Softeer

연습문제를 담을 Set을 선택해주세요. 취소 확인

softeer.ai

 

[ 코드 ]

a,b = map(int, input().split(' '))

if a > b:
    print("A")
elif a < b:
    print("B")
else:
    print("same")

* 파이썬은 if, elif, else 구문이다.

 

[ 결과 ]

반응형
Posted by mminky

댓글을 달아 주세요

알고리즘2023. 1. 14. 17:30
728x90

[ 문제 ]

https://softeer.ai/practice/info.do?idx=1&eid=990 

 

Softeer

연습문제를 담을 Set을 선택해주세요. 취소 확인

softeer.ai

 

[ 코드 ]

sum = 0
for _ in range(5):

    start, finish = input().split(' ')
    start_hour, start_min = map(int,start.split(':'))
    finish_hour, finish_min = map(int,finish.split(':'))

    gap_hour = finish_hour - start_hour
    gap_hour_to_min = gap_hour * 60

    gap_min = finish_min - start_min

    sum += gap_hour_to_min + gap_min

print(sum)

 

[ 해결 아이디어 ]

시작시간과 끝나는 시간을 각각 hour와 min으로 나누었다.

이 때 주의할 점은 map(int, start.split(':')) 을 이용하여 int로 바꿔줘야된다. (계산을 위해)

 

처음에는 gap_min = finish_min - start_min을 해야되는데

09:34 18:27과 finish_min(27)이 start_min(34)보다 작은 경우에는 어떻게 하지 라는 생각을 했다.

하지만 결국 일한 시간을 분으로 나타내는 것이기 때문에 27-34 = -7이 나와도 전체결과에는 문제가 없다.

 

[ 결과 ]

반응형
Posted by mminky

댓글을 달아 주세요

알고리즘2022. 2. 23. 15:48
728x90

코딩테스트를 준비하기 위해 백준사이트를 이용하려고 하는데

어떻게 이용해야할지 고민이었다.

그러다 검색을 통해 결론을 도출했다.

 

1. 백준 사이트

그리디, 탐색, 다이나믹(동적) 프로그래밍 문제 풀기

2. 프로그래머스

코딩테스트 연습 ( https://programmers.co.kr/learn/challenges )

 

( 한 문제당 소요시간은 45분으로 잡는다! )

 

 

--------------------------------------------------------------------------------------------------------

 

우선, 백준 사이트에서 원하는 알고리즘 별로 문제를 연습하는 방법이다.

문제 > 알고리즘 분류 로 들어간다.

 

여기서 원하는 알고리즘을 선택한다.

 

원하는 문제를 클릭하고 풀면 된다!

 

ex) 백준 - 그리디 알고리즘 모음

https://www.acmicpc.net/problemset?sort=ac_desc&algo=33 

 

문제 - 1 페이지

 

www.acmicpc.net

 

반응형
Posted by mminky

댓글을 달아 주세요