백준 2884번 문항  https://www.acmicpc.net/problem/2884

 

입력

첫째 줄에 두 정수 H와 M이 주어진다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 현재 상근이가 설정한 놓은 알람 시간 H시 M분을 의미한다.

입력 시간은 24시간 표현을 사용한다. 24시간 표현에서 하루의 시작은 0:0(자정)이고, 끝은 23:59(다음날 자정 1분 전)이다. 시간을 나타낼 때, 불필요한 0은 사용하지 않는다.

 

 

출력

첫째 줄에 상근이가 창영이의 방법을 사용할 때, 설정해야 하는 알람 시간을 출력한다. (입력과 같은 형태로 출력하면 된다.)

 

 

풀이

중복 if문의 활용

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        
        if(a==0) {
            if(0 <= b && b < 45) {
                a = a+24-1;
                b = b+60-45;
            } else if(45 <= b && b <= 59) b = b-45;
        } else if(0 < a && a <= 23) {
            if(0 <= b && b < 45) {
                a = a-1;
                b = b+60-45;
            } else if(45 <= b && b <= 59) b = b-45;
        }
        
        System.out.print(a+" "+b);
    }
}
cs

'알고리즘과 코테' 카테고리의 다른 글

[JAVA | 백준 2439] 별 찍기 - 2  (0) 2021.02.26
[JAVA | 백준 2438] 별 찍기 - 1  (0) 2021.02.26
[JAVA | 백준 11022] A+B - 8  (0) 2021.02.26
[JAVA | 백준 10871] X보다 작은 수  (0) 2021.02.26
[JAVA | 백준 2753] 윤년  (0) 2021.02.23
댓글