문제 해석
현재 시간에서 던질 시간까지 얼마나 걸릴지를 구하는 문제이다.
코드
문제 풀이
먼저 시간을 변수로 받아주고 그 변수들을 초로 변환시켜서 a와 b에 저장해 주었다.
만약 현재시간 a가 던질시간 b보다 큰 경우는 기다리다가 24시를 넘어가는 경우이므로 b에 24시간인 86400을 더해주었다. 이는 차를 구할때 음수가 나오는 것을 막아주기 위해서이다. 그 후, 던질시간 b에서 현재시간 a를 빼주어 시간의 차를 구했다.
그리고 구한 값은 초이므로 출력하려면 다시 시,분,초로 변환해주어야 하고 각 시,분,초가 한자리인 경우 앞에 0이 들어가므로 이를 위해 1000000에 변환된 값을 1/00(시)/00(분)/00(초) 형식으로 넣고 string으로 변환해주었다.
여기서 만약 현재시간과 던질시간이 같아 차가 0이 나올경우 a는 "1000000"로 나오게 되는데 조건으로 정인이는 최소 1초, 최대 24시간을 기다린다고 하였으므로 현재시간과 던질시간이 같다는 것은 24시간을 기다렸다는 것이 된다. 따라서 해당 경우에는 24:00:00을 출력하게 하였다.
위의 경우가 아닌 경우에는 구한 a에서 앞의 1만 slice로 빼주며 형식에 맞춰 출력해주었다.
'Koala - 6기 > 기초 알고리즘 스터디' 카테고리의 다른 글
[백준/c++]10865번 : 친구 친구 (0) | 2022.05.22 |
---|---|
[백준/Python] 2525번: 오븐 시계 (0) | 2022.05.21 |
[백준/Python] 1182번: 부분수열의 합 (0) | 2022.05.19 |
[백준/python] 12789번 (0) | 2022.05.15 |
[백준/c++]5598번 : 카이사르 암호 (0) | 2022.05.15 |