[알고리즘] 백준 2884 알람 시계 - C++

POBSIZ (POBSIZ)·2023년 3월 4일
0

알고리즘

목록 보기
2/11
post-custom-banner

문제 바로가기 >

설명

이 문제는 입력된 시간에서 45분을 뺀 시간을 나타내는 문제이다.

ex) 입력: 12 54, 출력: 12 9

입력

시간(h)과 분(m)이 입력된다.

코드

#include <iostream>
using namespace std;

int main(){
	// 입력 받을 값
	int h, m;
    
    // h, m 입력
	cin >> h >> m;
    
    // 입력 받은 분(m)에서 45를 뺏을때 음수인 경우
	if((m - 45) < 0){
    	/**
        *	((h - 1 < 0) ? 23 : h -1)
        *	시간(h)에서 1을 뺏을때 음수일 경우 23 반환
        *	아닐 시 시간(h)에서 -1 한 값 반환
        *
        *	((60 + m) - 45
        *	60분에 분(m)을 더한 후 45를 빼어서 실제 분(m)을 표현
        **/
        cout << ((h - 1 < 0) ? 23 : h -1) << " " << ((60 + m) - 45);
	}else{
        // 입력 받은 분(m)에서 45를 뺏을때 음수가 아닌 경우
        // 입력받은 시간(h) 출력, 입력받은 분(m)에서 45를 뺀 분(m) 출력
		cout << h << " " << m - 45;
	}
}

마무리

이 문제의 경우 45를 뺏을 때의 시간을 어떻게 처리하는지가 포인트인 문제였던 것 같다.

post-custom-banner

0개의 댓글