a = 시
b = 분
c = 추가된 시간
전체 시간을 분으로 바꿔 추가 된 시간(분)을 더한다.
int min = 60 * a + b;
min += c;
분을 다시 시로 바꿔주고, 24시이면 0시로 바꿔주고 다시 0부터 시작해야 하기 때문에 24로 나눈 나머지 연산이 필요하다.
분을 시로 바꿔주기 위해선 60 으로 나눈 몫이 필요하다.
int hour = (min / 60) % 24;
분을 시로 바꿔주고 남은 분은 60으로 나눈 나머지가 필요하다.
int real min = min % 60
풀이
#include <iostream>
using namespace std;
int main()
{
int a, b, c;
cin >> a >> b >> c;
int min = 60 * a + b;
min += c;
int hour = (min / 60) % 24;
cout << hour << " " << min % 60;
return 0;
}
'백준' 카테고리의 다른 글
[C++ 백준] 15552번 빠른 A+B (1) | 2023.12.20 |
---|---|
[백준 C++] 2480번 주사위 (0) | 2023.12.20 |
[백준 C++] 11382번 꼬마 정민 (0) | 2023.12.19 |
[백준 C++] 10926번 ??! (0) | 2023.12.19 |
[백준 C++] 1008번 A/B (0) | 2023.12.19 |