반응형
https://www.acmicpc.net/problem/13223
시간 출력하는 구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
시작 시간 시분초 st, 끝 시간 시분초 et를 선언 후 입력받습니다.
📔 풀이과정
1. 시작시간을 초로 환산한 값을 sTotal에 저장합니다.2. 끝 시간을 초로 환산한 값을 eTotal에 저장합니다.3. 최소 1초 최대 24시간이므로 sTotal >= eTotal인 경우 24시간 만큼 초를 더해줍니다.
📔 정답출력
구현한 convert함수로 시분초 형식으로 바꿔준 문자열을 출력해줍니다.
📕 Code
#include <bits/stdc++.h>
using namespace std;
int st[3], et[3], sTotal, eTotal, ans;
int main(){
scanf("%d:%d:%d", st, st+1, st+2);
scanf("%d:%d:%d", et, et+1, et+2);
sTotal = st[0] * 3600 + st[1] * 60 + st[2];
eTotal = et[0] * 3600 + et[1] * 60 + et[2];
if(sTotal >= eTotal) eTotal += 24 * 3600;
ans = eTotal - sTotal;
printf("%02d:%02d:%02d", ans/3600, (ans%3600) / 60, ans % 60);
}
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(C++) - 백준(BOJ) 2083 : 럭비클럽 (0) | 2022.07.21 |
---|---|
(C++) - 백준(BOJ) 2083 : 럭비클럽 (0) | 2022.07.20 |
(C++) - 백준(BOJ) 9317 : Monitor DPI (0) | 2022.07.16 |
(C++) - 백준(BOJ) 7782 : Alien (0) | 2022.07.13 |
(C++) - 백준(BOJ) 11121 : Communication Channels (0) | 2022.07.12 |