본문 바로가기
알고리즘, 자료구조/알고리즘 문제

[SW] 7732 시간 개념

by Wordbe 2019. 9. 5.
728x90

인풋을 잘 나누어 받고,

자리수를 조정하여 계산할 수 있다면 쉬운 문제에 속한다.

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

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

	int T;
	cin >> T;
	string current, appointment;
	int ctime[3];
	int atime[3];
	int ans[3];
	for (int i=1; i<=T; ++i) {
		cin >> current >> appointment;
		for (int j = 0, k = 0; j < 7; j += 3, ++k) {
			ctime[k] = stoi(current.substr(j, 2));
			atime[k] = stoi(appointment.substr(j, 2));
		}

		for (int j = 2; j >= 0; --j) {
			int dif = atime[j] - ctime[j];
			if (dif >= 0) ans[j] = dif;
			else {
				if (j == 0) {
					ans[j] = dif + 24;
				}
				else {
					ans[j] = dif + 60;
					atime[j - 1] -= 1;
				}
			}
		}
		
		cout << "#" << i << " ";
		for (int j = 0; j < 2; ++j) {
			if (ans[j] / 10 == 0) cout << 0 << ans[j] << ":";
			else cout << ans[j] << ":";
		}
		if (ans[2] / 10 == 0) cout << 0 << ans[2] << '\n';
		else cout << ans[2] << '\n';
	}
	return 0;
}
728x90

'알고리즘, 자료구조 > 알고리즘 문제' 카테고리의 다른 글

17143. 낚시왕  (0) 2019.09.24
14889. 스타트와 링크  (0) 2019.09.21
14888. 연산자 끼워넣기  (0) 2019.09.19
[SW Expert Academy] 1767. 프로세서 연결하기  (0) 2019.09.18
[SW] 8382 방향전환  (0) 2019.09.06

댓글