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

PS/Baek-Joon C++

[백준 C++] 단계별 문제풀이 2단계 < 2884 : 알람 시계 >

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

알람 시계

  • 문제
  • 풀이
  • 결과

문제

 


 

풀이

#include <iostream>
using namespace std;

int main() {
    int nHour = 0;
    int nMinute = 0;
    
    while(1)
    {
        cin >> nHour;
        cin >> nMinute;
        
        if (nHour < 0 || 23 < nHour) {
            cout << "Wrong Hour" << endl;
        } else if (nMinute < 0 || 59 < nMinute) {
            cout << "Wrong Minute" << endl;
        } else {
            break;
        }
    }
    
    if(nMinute < 45) {
        if (nHour == 0) {
            cout << 23 << " ";
        } else {
            cout << nHour-1 << " ";
        }
        cout << 60 - (45 - nMinute);
    } else {
        cout << nHour << " ";
        cout << nMinute - 45;
    }

    return 0;
}

 

문제가 길어보이지만, 결론은 입력받은 시간에 45분을 차감한 시간이 출력되도록 하는 것입니다. 분 단위 값이 차감 되었을 때, 시간 값에의 반영과 01시에서 23시로 차감되는 경우만 잘 고려해주면 가정문으로만 해결할 수 있는 문제입니다.

 


 

결과