※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 1408번 문제인 24이다.
문제는 아래 링크를 확인하자.

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

 

1408번: 24

도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는

www.acmicpc.net

이 문제에서는 첫 번째 주어진 시각에서 두 번째 주어진 시각까지 걸리는 (가장 빠른) 시간을 계산하는 문제이다.

입력 형식이 문자열의 형태로 주어져있으므로 substr 등으로 적절히 읽어 문제를 해결하자.

 

아래는 제출한 소스코드이다.

#include <iostream>
#include <string>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	string s1, s2; cin >> s1 >> s2;
	int time1 = stoi(s1.substr(0, 2)) * 3600 + stoi(s1.substr(3, 2)) * 60 + stoi(s1.substr(6, 2));
	int time2 = stoi(s2.substr(0, 2)) * 3600 + stoi(s2.substr(3, 2)) * 60 + stoi(s2.substr(6, 2));
	int ans = time2 - time1;
	if (ans < 0) ans += 86400;
	int HH = ans / 3600; ans %= 3600;
	int MM = ans / 60; ans %= 60;
	int SS = ans;
	if (HH < 10) cout << 0; cout << HH << ":";
	if (MM < 10) cout << 0; cout << MM << ":";
	if (SS < 10) cout << 0; cout << SS;
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 11098 // C++] 첼시를 도와줘!  (0) 2021.06.01
[BOJ 14624 // C++] 전북대학교  (0) 2021.06.01
[BOJ 5635 // C++] 생일  (0) 2021.06.01
[BOJ 2711 // C++] 오타맨 고창영  (0) 2021.06.01
[BOJ 4999 // C++] 아!  (0) 2021.06.01

+ Recent posts