알고리즘/백준(BAEKJOON)

2884 백준 /알람시계 /if문

jojelly 2020. 7. 20. 18:42
반응형

설정시간에 45분을 당겨서 알람을 맞춰야하는 시간을 출력하는 문제이다.  하루를 0:00~23:59까지로 기준을 잡고 시작해야한다. 

나는 원래 설정되어 있는 시간을 h시m분으로 잡고 45분 앞당긴 시간을 H시 M분으로 정했다. 

 

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
package codeup_first;
//알람시계
import java.util.Scanner;
 
public class Main04 {
 
public static void main(String[] args) {    
 
    Scanner sc = new Scanner(System.in);
 
        int h, m ;
        h = sc.nextInt();
        m = sc.nextInt();
        
        int H = h;
        int M = m-45;
        
        if (0 > M) { 
            H -- ;
            M += 60;
            if (H < 0) {
            H += 24 ;
            }
        }
    System.out.println(H + " " + M);
}
}
cs

 

scanner를 통해 원래 설정되는 알람시간을 h,m으로 잡아 준후 m분의 45분을 앞당기는 M=m-45로 나타내었다.

이떄 M분이 0분보다 작아지면 H의 시간을 1시간 뒤로 돌려야 하기때문에 if문을 사용하여 M분이 0보다 작을 때 H --; M+=60을 적용하였고 ,이때 H--를 했을때 H시 가 마이너스시간이 되면 안되기 때문에 if문을 중첩하여 H<0일떄 H+=24를 적용하였다. 

반응형