본문 바로가기

C#

[백준] 2884번 알람 시계 C# 풀이

늦게 일어나는 상근이를 위해 45분 일찍 깨워주기 위해 창영이가 낸 문제이다.

상근이가 늦게 일어나니까, 상근이가 맞춰논 알람 시각보다 45분 앞서는 시간으로 바꿀수 있도록 언제로 고쳐야 하는지 작성하면 된다.

 

나는 입력된 시간에서 45분을 빼주고, 45분을 빼준 분의 값이 양수인 경우에는 괜찮지만

음수인 경우에는 시간에서 1시간을 빼고, 음수가 된 분의 값에 60분을 더해주는 방식으로 작성하였다.

 

using System;
public class MainClass {
  public static void Main() {
    string value = Console.ReadLine();
    string[] result = value.Split(' ');
    
    int hour = Convert.ToInt32(result[0]);
    int min = Convert.ToInt32(result[1]);
    
    if ((hour>=0 && hour<=23&& (min>=0 && min<=59))
    {
      int newMin = min -45;
      
      if (newMin < 0)
      {
         hour -=1;
         min = 60 + newMin;
      }
      else 
      {
        min = newMin;
      }
      
      if (hour <0)
      {
        hour = 24 + hour;
      }
      
      Console.WriteLine(hour + " " + min);
    }
 
  }
  
}
cs