728x90
1. 문제
2. 접근
1. M이 45보다 크다면(예를 들면 50분) -45를 해주면 된다.
2. M이 45보다 작다면(입력1 10분) 음수가 되어서 정상적인 시간이 안된다(조건식 필요함)
2-1. 분단위가 45보다 작을 때 H에는 1을 빼준다
2-2. M에는 60을 더해준다. 60을 더해주는 이유는 분침을 한바퀴 더 돌려서 60보다 크거나 같게 만들어 음수가 안나오게끔 하는 방식이다. 그 상태에서 분을 빼주면 정확한 시간이 나온다.
3. 만약 H가 0이라면 1을 뺏을 때 -1이 나오기 때문에 시간이 이상해진다.
3-1. H는 23을 할당해준다. 45분을 더 적게 맞춘다는 것은 한시간이 넘지 않기 때문에 -2를 할일이 없다. 0시에서 한시간 전은 23시 이기 때문에 23을 할당한다
3-2. M에는 똑같이 60을 더해준다 2-2와 같은 방법이다.
3. 풀이
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)
반응형
'coding test' 카테고리의 다른 글
Sort / Two Pointer (0) | 2023.12.08 |
---|---|
Two Sum (2) | 2023.12.06 |
백준 2525번 오븐 시계 (0) | 2023.07.02 |
sort & Two Pointer (0) | 2023.06.24 |
알고리즘 (0) | 2023.06.22 |