H,M = map(int, input().split())
if (M-45 < 0):
M = (60+(M-45))
if (H == 0):
H = 24
H = H-1
else:
M = (M-45)
print(H, M)
풀고나서 다른분들 풀이보니 알고리즘 초보자인 나는 비교적 코드가 좀 복잡해보인다.
하지만 나름 직관적으로 푼 것 같다.
H,M = map(int, input().split())
먼저 H,M 을 입력 받는다.
H,M = input().split() : 입력되는 문자를 input()함수로 입력받고 split()함수로 나누어 각각 H,M 변수에 저장
if문을 사용해
if (M-45 < 0): # 만약 입력받은 M-45 했을 때 음수가 나온다면 (M-45 :음수)
M = (60+(M-45)) # 60 + (M-45) 60분에서 M-45값을 빼준다. M-45값이 음수이므로 60 + (M-45)가됨
if (H == 0):
H = 24 # H가 0이면 H = 24로 해라
H = H-1 # 그 다음에 1시간을 빼준다. 0이면 45분을 뺐을 때 23시로 표시되도록
else:
M = (M-45)
그러고 나서 H,M을 출력해주면 된다.
H,M = map(int, input().split()) # 입력되는 문자를 각각 H,M 변수에 저장
if (M-45 < 0): # 만약 입력받은 M-45 했을 때 음수가 나온다면 (M-45 :음수)
M = (60+(M-45)) # 60 + (M-45) 60분에서 M-45값을 빼준다. M-45값이 음수이므로 60 + (M-45)가됨
if (H == 0): # H가 0이면 H = 24로 해라
H = 24
H = H-1 # 그 다음에 1시간을 빼준다. (여기까지는 모두 M-45<0 인 경우)
else: # M-45>=0 인 경우 시간은 고정, 분만 45분 빼주면 됨
M = (M-45)
print(H, M)