백준/2. 조건문

[2884] 알람 시계

lfgwy 2022. 7. 15. 17:12

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

https://www.acmicpc.net/problem/2884

 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net

M이 45분보다 크거나 같은 경우 단순히 45를 빼주면 됩니다.

하지만 M이 45분보다 작은 경우, M만큼을 빼준 후, 남은 (45 - M)을 또 빼주어야합니다. 또 이 과정에서 H = H - 1이 되어야합니다.

예를 들자면,  10시 15분의 경우, 우선 15만큼을 빼줍니다. 그럼 10시 00분이 됩니다. 그 후 남은 (45 - 15) = 30을 빼준 후, H - 1을 해주면 9시 30분이 됩니다.

 

위의 것이 제가 풀이한 방법이고, 밑의 것이 인터넷을 찾아보는 중 훨씬 깔끔하다고 생각되는 풀이를 가져온 것입니다.

H, M = map(int, input().split())

if M >= 45:
    print(H, (M - 45))
elif H == 0 and M < 45:
    print(23, (60 - (45- M)))
else:
    print((H - 1), 60 - (45 - M))
    

H, M = map(int, input().split())

if M < 45:
	if H == 0:
    	H = 23
        M += 60
    else:
    	H -= 1
        M += 60

print(H, M - 45)

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

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