백준/2. 조건문

[2525] 오븐 시계

lfgwy 2022. 7. 15. 22:08

단계별로 풀어보기 2단계 조건문의 6번 문제입니다.

https://www.acmicpc.net/step/4

 

조건문 단계

점이 어느 사분면에 있는지 알아내는 문제

www.acmicpc.net

풀이를 위해 divmod 함수를 사용했습니다.

divmod(A, B)라고 하면, A를 B로 나눈 몫과 나머지를 반환합니다.

풀이에서처럼 H, M = divmod(C, 60)이라고 하면 H에는 C를 60으로 나눈 몫이, M에는 나머지가 할당됩니다.

 

코드 자체가 어렵다기보다는 문제에 대해 어떻게 생각하느냐에 따라 난이도, 코드 진행이 결정되는 문제라고 생각합니다.

제 풀이 밑에는 저랑은 약간 다르게 푸신 다른 분의 코드를 첨부해봅니다.

A, B = map(int, input().split())
C = int(input())

H, M = divmod(C, 60)

if A + H < 24 and B + M < 60:
    print(A + H, B + M)
elif A + H > 23 and B + M < 60:
    print((A + H) % 24, B + M)
elif A + H < 23 and B + M > 60:
    print(A + H + 1, B + M - 60)
else:
    print((A + H + 1) % 24, B + M -60)
    
    
#다른 분의 풀이
H, M = map(int, input().split())
timer = int(input()) 

H += timer // 60
M += timer % 60
#여기까지는 divmod의 사용여부 정도를 빼고는 동일

if M >= 60:
    H += 1
    M -= 60
if H >= 24:
    H -= 24
#나머지를 사용해주지 않고 빼기를 사용해서 조건문 2개로 끝냄

print(H,M)

 

 

'백준 > 2. 조건문' 카테고리의 다른 글

[2480] 주사위 세개  (0) 2022.07.15
[2884] 알람 시계  (0) 2022.07.15
[14681] 사분면 고르기  (0) 2022.07.15
[2753] 윤년  (0) 2022.07.15
[9498] 시험 성적  (0) 2022.07.15