백준/백준 단계별 문제풀이

백준 2884번 (C++)

FDEE 2020. 8. 18. 13:06

www.acmicpc.net/problem/2884

 

2884번: 알람 시계

문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지

www.acmicpc.net

 

<답안>

#include <iostream>

using namespace std;

int main() {

    //45분 전 시간 구하기

    int H,M = 0;

    cin>>H>>M;

    

    if(M >= 45)

    {

        M = M-45;

        cout<<H<<" "<<M<<endl;

    }

    else if(M < 45)

    {

        if(H>0)

        {

            H = H-1;

            M = M+60-45;

            cout<<H<<" "<<M<<endl;

        }

        else if(H == 0)

        {

            H = 23;

            M = M+60-45;

            cout<<H<<" "<<M<<endl;

        }

    }

    

    return 0;

}

 

<설명>

분(M)이 45보다 큰지 작은지에 따라 나뉜다

M >= 45 인 경우 그냥 45를 빼면 끝

M < 45 인 경우 : 시간(H)에 따라 나뉜다

   H > 0 인 경우 : 시간을 1 빼고, 분을 60 더한 뒤 45를 뺀다

   H == 0 인 경우 : 시간을 23으로 바꾸고, 분을 60 더한 쉬 45를 뺀다

 

'백준 > 백준 단계별 문제풀이' 카테고리의 다른 글

백준 10950번 (C++)  (0) 2020.08.18
백준 2739번 (C++)  (0) 2020.08.18
백준 14681번 (C++)  (0) 2020.08.18
백준 2753번 (C++)  (0) 2020.08.17
백준 9498번 (C++)  (0) 2020.08.17