시작은 미미하나 끝은 쥬쥬하리라.

PS/Baek-Joon C++

[백준 C++] 단계별 문제풀이 2단계 < 2525 : 오븐 시계 >

코딩뚜벅이 2024. 1. 24. 21:06

오븐 시계

  • 문제
  • 풀이
  • 결과

문제

 


 

풀이

#include <iostream>
using namespace std;

int main() {
    int nHour, nMinute, nInput;

    while(1)
    {
        cin >> nHour >> nMinute;
        cin >> nInput;
        
        if (nHour < 0 || 23 < nHour) {
            cout << "Wrong Hour" << endl;
        } else if (nMinute < 0 || 59 < nMinute) {
            cout << "Wrong Minute" << endl;
        } else if (nInput < 0 || 1000 < nInput) {
            cout << "Wrong Intput" << endl;
        } else {
            break;
        }
    }

    int nTotal = nHour * 60 + nMinute + nInput;

    int nCalcHour = nTotal / 60;
    int nCalcMin = nTotal % 60;

    if (nCalcHour > 23) {
        nCalcHour %= 24;
    }

    cout << nCalcHour << " " << nCalcMin << endl;

    return 0;
}

 
시/분 단위의 시간을 입력한 이후, 분 단위의 시간을 입력 받아 증감한 시간을 출력하는 문제입니다. 시간이 더해졌을 때, 분 단위 값의 증가와 시간 단위 값에의 영향 그리고 23시에서 00시로 넘어가는 등의 경우를 고려해야 합니다. 조건만 잘 세운다면 사칙 연산자와 가정문으로 해결할 수 있는 문제입니다.
 


 

결과