백준 C# BOJ 2884 알람 시계

2020. 1. 9. 21:28백준 알고리즘 단계별/if 문

반응형

 

출제 링크 : https://www.acmicpc.net/problem/2884

 

2884번: 알람 시계

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

www.acmicpc.net

 

코드

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
27
28
29
30
31
32
33
34
35
36
37
38
39
using System;
using static System.Console;
 
namespace baekjoon
{
    class Program
    {
 
        static void Main(string[] args)
        {
            string inputA = Console.ReadLine();
            string[] intputAll = inputA.Split();
 
            int h = int.Parse(intputAll[0]); // 시
            int m = int.Parse(intputAll[1]); // 분
 
            m = m - 45// 45분 감소
            if (m > 0// 45분이 감소 해도 그 값이 0 보다 크다면 (10시 46분)
            {
                WriteLine($"{h} {m}"); // 바로 출력
            }
            else if (m < 0// 45분이 감소 해서 그 값이 0 보다 작다면 ( 10시 10분)
            {
                if (h == 0// (0시 20분)일때 0시는 전날23시로 바뀌어야 되기때문에
                {
                    h = 23;
                }
                else // (1시 20분)일때는 전날로 바뀔 필요 없기 때문에
                {
                    h -= 1;
 
                }
                m += 60// 45분이 감소했을때 0보다 작으면 시간이 1 감소하고 
                         // 60분을 올려주기 때문에
                WriteLine($"{h} {m}");
            }
        }
    }
}
반응형