본문 바로가기

프로그래밍/알고리즘

년/월/일/시/분/초 에 대한 고찰

이번 카카오 코딩 테스트도 그렇고 이러한 시간을 이용한 문제는 자주 출제되고는 한다.

 

나는 보통 이런 문제를 풀 때 가장 큰 단위부터 가장 작은 단위로 바꿔준다.

 

예를 들면 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)

 

이렇게 초로 바꿔주면서 편하게 해결 할 수 있다.

 

처음에는 혼동이 될 수 있어도 익숙해지면 상당히 편하다. 보통 이렇게 풀어서 실수가 발생할 일이 거의 없다!