백준

백준 2884번 : 알람 시계

reiiiii 2024. 3. 13. 16:30

 

 

<내가 처음 작성한 코드 - 오답>

H, M = input().split()
H = int(H)
M = int(M)
if(M - 45 >= 0):
    print(H, M)
elif(M - 45 <= 0 and H-1 >= 0):
    print(H-1, M-45+60)
elif(M - 45 <= 0 and H-1 < 0):
    print(H-1+24, M-45+60)

 

<지피티가 작성한 코드>

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

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

print(H, M)

* 비교 연산자 주의

→ 내가 작성한 코드는 시간과 분을 따로 처리

→ 지피티가 작성한 코드는 시간과 분을 함께 처리

→ 내가 작성한 코드에 H=0이면 24를 더해서 시간을 되돌려야 하는데 이를 고려하지 않음 ***H=0일때를 고려 안 함!!!!!!!  고려 해야함!!!!!!

 

<정답코드1>

H, M = map(int, input().split())
if M < 45 :
    if H == 0 : # 0시이면
        H = 23
        M += 60
    else : # 0시가 아니면(0시보다 크면)
        H -= 1
        M += 60
print(H, M-45)

 

 

<정답코드2>

time = input().split(' ')
h = int(time[0])
m = int(time[1])

if m > 44:
    print(h, m-45)
elif m <= 45 and h >= 1:
    print(h-1, m + 15)
else: # 만약 h가 0이라면, h는 23
    print(23, m + 15)