https://www.acmicpc.net/problem/2884
내 풀이
H, M = map(int,input().split())
if H > 12:
H - 12
alaram = ((H * 60 + M) - 45) # 시간을 분으로 고쳐 합친 다음 45를 빼자!
if alaram < 0:
alaram += 1440 # 뺀 결과가 음수이면? 24*60 분을 더하자!
H1 = alaram // 60
if H1 > 23:
H1 = H1 - 24 # 다시 시간과 분으로 나누되 시간에서 24이상이 되면 24를 빼도록 설정!
M1 = alaram % 60
print(H1, M1)
정석 풀이
H, M = map(int, input().split())
if M < 45 : # 분단위가 45분보다 작을 때
if H == 0 : # 0 시이면
H = 23
M += 60
else : # 0시가 아니면 (0시보다 크면)
H -= 1
M += 60
print(H, M-45)
H,M = map(int,input().split())
if M > 44: #분이 45 이상이면 그대로 빼기!
print(H, M-45)
elif M<45 and H>0: #분이 45 미만이면 시간을 -1, 분을 +60-45하므로 결국 +15와 같다!
print(H-1,M+15)
else: #그런데 시간도 음수가 되면 안되니까 0시라면 23으로 고정해준다!
print(23,M+15)
고칠 점: 더욱 간결하고 효율적일 필요 있음. -> 복잡하게 생각하지 말자.
'백준' 카테고리의 다른 글
백준 8958번: OX퀴즈💦 (0) | 2023.07.18 |
---|---|
백준 9506번: 약수들의 합💦 (0) | 2023.07.17 |
백준 2480번: 주사위 세개💦 (0) | 2023.07.14 |
백준 2525번: 오븐시계💦 (0) | 2023.07.14 |
백준 2588번: 곱셈 (0) | 2023.07.12 |