알고리즘/BaekJoon

백준 2884 : 알람 시계

꾸준하게 :) 2020. 4. 23. 22:20

문제 링크입니다 https://www.acmicpc.net/problem/2884 

 

2884번: 알람 시계

문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다.

www.acmicpc.net

[문제 내용]

 

"45분 일찍 알람 설정하기", 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 어차피 알람 소리를 들으면, 알람을 끄고 조금 더 잘 것이기 때문이다. 이 방법을 사용하면, 매일 아침 더 잤다는 기분을 느낄 수 있고, 학교도 지각하지 않게 된다. 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.

 

 

[소스코드]

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include<iostream>
using namespace std;
 
int h, m;
 
int main(void) {
 
    cin >> h >> m;
 
    // 입력받은 시간에서 m분의 m이 45분 이상이면
    // 그냥 h시 m - 45분을 출력하면 됩니다.
    if (m >= 45) {
        cout << h << " " << m - 45 << '\n';
    }
    // 그렇지 않다면
    else {
        // h시의 h를 1만큼 줄이고 m을 알맞게 계산한 뒤
        h--, m = 60 - (45 - m);
 
        // h시가 0시였을 경우 23시로 바꿔줍니다
        if (h < 0) h = 23;
        cout << h << " " << m << '\n';
    }
 
    return 0;
}
cs

 

'알고리즘 > BaekJoon' 카테고리의 다른 글

백준 17140 : 이차원 배열과 연산  (0) 2020.05.02
백준 1100 : 하얀 칸  (0) 2020.04.25
백준 1012 : 유기농 배추  (0) 2020.04.21
백준 14891 : 톱니바퀴  (0) 2020.03.24
백준 14499 : 주사위 굴리기  (0) 2020.03.22