내 알람 시계
나는 미국인이고, (디지털) 자명종도 마찬가지입니다. 알람을 설정하기 위해 알람이 이전 시간에 시작됩니다. 시간 버튼을 누르면 1 시간 위로 이동하고 분 버튼을 누르면 1 분 위로 이동합니다. 두 버튼을 동시에 두드리면 자정 (오전 12시)으로 재설정되고 두 번의 버튼 누름으로 계산됩니다.
시간이 한도를 초과하면 (12) 1로 재설정되고 AM / PM 표시등이 전환됩니다. 분이 최대 한도 (59)를 초과하면 시간에 영향을주지 않고 0으로 재설정됩니다.
작업
작업은 시작 시간과 목표 시간이 주어지면서 알람을 목표 시간으로 설정하는 데 필요한 최적의 버튼 누름 수를 출력합니다.
가장 적합한 형식으로 입력 할 수 있습니다. 프로그램에 필요한 유일한 데이터는 두 입력에 대해 시간과 분입니다. 즉, 예를 들어, 에포크 이후 데이터를 밀리 초로 가져 와서 시간과 분을 추출 할 수 있지만 년, 월, 초 등으로 어떤 것도 인코딩 할 수 없습니다 . 예를 들어 "군사 시간"(또는 대부분의 세계에서 정규 시간)이지만 시계 작동 방식은 바뀌지 않습니다.
예
1:15 pm -> 2:30 am
두 버튼을 아래로 눌러 오전 12 시로 재설정 한 다음 오전 2시 30 분으로 증가시킬 수 있습니다 2+2+30 = 34
. 오전 2시 30 분까지 증가시킬 수 있으며 이는 13+15 = 28
버튼 누름입니다. 따라서 출력은 28
입니다.
3:58 am -> 4:02 am
2+4+2 = 8
버튼을 누르면 재설정 및 증분 할 수 있습니다 . 또한이 될 것이다, 증가 수있는 1+4 = 5
버튼 누름. 따라서 출력은 5
입니다.
10:55 pm -> 1:00 am
2+1 = 3
버튼을 누르면 재설정 및 증분 할 수 있습니다 . 또한이 될 것이다, 증가 수있는 3+5=8
버튼 누름. 따라서 출력은 3
입니다.
1:00 am -> 1:59 pm
재설정하고 증분 할 수 있지만 증분보다 3 번 더 누르는 것입니다. 따라서 출력은 12+59 =
71
입니다.
테스트 사례
Current Target = Output
1:15pm 2:30am = 28
3:58am 4:02am = 5
10:55pm 1:00am = 3
1:00am 1:59pm = 71
12:00am 12:00am = 0
6:51pm 12:00am = 2
2:01pm 11:00pm = 25
2:01pm 11:01pm = 9
12:59am 12:01am = 2
11:50am 12:00pm = 11