728x90
문제
오븐에 현재 시각을 입력하고, 요리에 걸리는 시간을 입력하면
요리가 끝나는 시간을 출력하는 프로그램을 작성하세요.
예제 입력
14 30
20
예제 출력
14 50
풀이
#include <iostream>
using namespace std;
int main() {
int hour; int min;
int how;
cin >> hour >> min;
cin.ignore();
cin >> how;
if (min + how > 60) // 걸리는 시간의 분과 현재 분의 합이 60을 넘을 때
{
min = min + how;
int temp = min / 60;
hour = hour + temp;
min = min - (temp * 60);
if (hour >= 24) hour = hour - 24;
cout << hour << " " << min;
}
else if (min + how == 60) { // 걸리는 시간의 분과 현재 분의 합이 60일 때
hour = hour + 1;
min = 0;
if (hour >= 24) hour = hour - 24;
cout << hour << " " << min;
}
else if (min + how < 60) { // 걸리는 시간의 분과 현재 분의 합이 60미만 일 때
min = min + how;
if (hour >= 24) hour = hour - 24;
cout << hour << " " << min;
}
else return 0;
}
이전 문제에서 시간에서 뺄셈을 하던 방식에서 덧셈으로 바꾸어주면 된다.
분끼리 더했을 때 60이거나 60이 넘는 경우, 시간에 1을 반올림하고,
60 미만인 경우에는 분만 합산하면 된다.
728x90
'백준 알고리즘 단계별 풀이 (문제 수) > 조건문 (7)' 카테고리의 다른 글
[C++] 주사위 세개 : 2480번 (0) | 2022.07.07 |
---|---|
[C++] 알람 시계 : 2884번 (0) | 2022.07.07 |
[C++] 사분면 고르기 : 14681번 (0) | 2022.07.07 |
[C++] 윤년 : 2753번 (0) | 2022.07.07 |
[C++] 시험 성적 : 9498번 (0) | 2022.07.07 |