
#include<iostream>
#include<string>
using namespace std;
string timeNow;
string startTime;
int main() {
cin >> timeNow;
cin >> startTime;
int hourNow = stoi(timeNow.substr(0, 2));
int minNow = stoi(timeNow.substr(3, 2));
int secNow = stoi(timeNow.substr(6, 2));
int startHour = stoi(startTime.substr(0, 2));
int startMin = stoi(startTime.substr(3, 2));
int startSec = stoi(startTime.substr(6, 2));
if (hourNow == startHour && minNow == startMin && secNow == startSec) {
cout << "00:00:00" << endl; // 시작 시간과 현재 시간이 같은 경우
}
else {
int ansSec = startSec - secNow;
if (ansSec < 0) {
ansSec += 60;
startMin--;
}
int ansMin = startMin - minNow;
if (ansMin < 0) {
ansMin += 60;
startHour--;
}
int ansHour = startHour - hourNow;
if (ansHour < 0) {
ansHour += 24;
}
cout.width(2);
cout.fill('0');
cout << ansHour << ":";
cout.width(2);
cout.fill('0');
cout << ansMin << ":";
cout.width(2);
cout.fill('0');
cout << ansSec << endl;
}
return 0;
}
한번에 시간을 입력받아 substr로 시, 분, 초를 나누고,
그 수를 stoi를 사용해 int형으로 바꾸어 시간의 차를 계산하였다
if문으로 받아올림이 필요한 경우를 처리하였으며
cout.width로 두자리 수를 고정하고, 한 자리 수일 때 0을 채워넣도록 하였다