https://www.acmicpc.net/problem/2525
2525번: 오븐 시계
첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)
www.acmicpc.net

우선 시간의 범위랑 분의 범위가 정해져있다.
해당 범위를 벗어나면, 다시 0부터 시작하니 나머지 연산자를 활용해서
hour % 24, minute % 60을 이용하면 되지 않을까 생각했다.
물론 나머지 연산자를 활용할 경우는 조건문을 이용해 해당 범위를 넘었을 때 활용해야겠지.
#include <iostream>
using namespace std;
int main()
{
int hour, minute = 0;
int give = 0;
cin >> hour >> minute;
cin >> give;
if (hour >= 0 && hour <= 23)
{
if (minute >= 0 && minute <= 59)
{
if (minute + give >= 60)
{
hour += ((minute + give) / 60);
minute = ((minute + give) % 60);
if (hour > 23)
{
hour %= 24;
}
cout << hour << " " << minute;
}
else
{
minute += give;
cout << hour << " " << minute;
}
}
}
return 0;
}'백준 문제풀이 > 브론즈4' 카테고리의 다른 글
| 백준 2588번 - 곱셈 (0) | 2021.10.18 |
|---|---|
| 백준 2530번 - 인공지능 시계 (0) | 2021.10.18 |
| 백준 2480번 - 주사위 세 개 (0) | 2021.10.17 |
| 백준 2420번 - 사파리 월드 (0) | 2021.10.17 |
| 백준 1712번 - 손익분기점 (0) | 2021.10.16 |