이번 카카오 코딩 테스트도 그렇고 이러한 시간을 이용한 문제는 자주 출제되고는 한다.
나는 보통 이런 문제를 풀 때 가장 큰 단위부터 가장 작은 단위로 바꿔준다.
예를 들면 1년을 초로 바꾼다면 1*365*24*60*60이 될 것이다.
이렇게 바꿈으로써 문제 해결이 쉬워지는 문제들이 여럿 있다.
일단 이런 문제가 있다.
https://www.acmicpc.net/problem/2525
2525번: 오븐 시계
첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)
www.acmicpc.net
hour,minute=map(int,input().split())
to_end=int(input())
totalminute=24*60+hour*60+minute+to_end # 초로 바꿔주고
print(totalminute%(24*60)//60,totalminute%(24*60)%60)
이렇게 초로 바꿔주면서 편하게 해결 할 수 있다.
처음에는 혼동이 될 수 있어도 익숙해지면 상당히 편하다. 보통 이렇게 풀어서 실수가 발생할 일이 거의 없다!
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[파이썬 문법] 나는 재귀를 안 썼는데 왜 recursionError가? (0) | 2025.04.23 |
---|---|
파이썬 문자열 연산에 대한 고찰 2 (0) | 2022.09.21 |
파이썬 문자열 연산에 대한 고찰 (1) | 2022.09.20 |
소수 판별법에 대한 고찰 (0) | 2022.09.18 |
소수 판별에 대한 고찰 (0) | 2022.09.16 |