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 |
댓글