본문 바로가기

알고리즘 공부

백준 2530: 인공지능 시계

728x90

https://www.acmicpc.net/problem/2530

 

2530번: 인공지능 시계

첫째 줄에 종료되는 시각의 시, 분, 초을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수이며, 분, 초는 0부터 59까지의 정수이다. 디지털 시계는 23시 59분 59초에서 1초가 지나면 0시 0

www.acmicpc.net

처음 문제를 봤을때 

입력받는 현재시간을 초단위로 변환하고 요리시간을 더하여 지지고 볶고 난리를 피우는게 정석이라고 생각했다.

그러자 갈수록 늘어나는 코드... 길어지는게 나쁜건 아니지만, 알고리즘 슨배님의 조언을 얻고서 심봉사 눈이 뜨이는 듯한 충격을 받았다. 이리도 쉬운 방법이 또 있었다니...

 

current = input().split(' ')
needTime = int(input())

sec = int(current[2]) + needTime
addMin = sec // 60 
Sec = sec % 60

tmpMin = int(current[1]) + addMin
addHour = tmpMin // 60
Min = tmpMin % 60

tmpHour = int(current[0]) + addHour
Hour = tmpHour % 24

print(Hour, Min , Sec)

 

코드 작성중에 입력값 문자열을 시 분 초로 나누기 위해 배열로 만들고자 했다.

이때 필요한 것은 split . 오늘도 하나 배워간다...

728x90