백준 알람시계(2884) 문제풀이

import java.util.*;
import java.util.regex.*;
import java.lang.*;
import java.io.*;

public class Baekjoon2884 {

    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int hour = sc.nextInt();
        int minute = sc.nextInt();
        if (minute < 45) {
            hour--;
            minute = 60 - (45 - minute);

            if (hour < 0) {
                hour = 23;
            }
            System.out.println(hour +" " + minute);
        } else {
            System.out.println(hour + " " + (minute-45));
        }
       

    }
}

입력 값은 hour과 minute 두개이다.

Scanner 인스턴스 생성 후 각 각 입력을 받아준다.

상근이의 시계는 45분 빨리 맞춰져야 하므로 if문으로 분이

45분보다 작은 지를 검사 후 작다면 45분을 뺀 minute의

값이 음수가 된다는 뜻이므로 hour을 1 감소시키고 minute

은 45에서 minute 입력값을 뺀 값을 60으로 빼주어야 한다.

그 후 hour이 줄어 들었을 때 한 번 더 요소검사를 해주어

야 하는데 hour이 1 줄어서 0보다 작다는 뜻은 23시가 된

다는 뜻이므로 23으로 할당해준다.

그 후 println문으로 hour과 minute을 출력해주면 된다.

만약 45분보다 작지 않은 값으로 minute이 들어온다면

hour을 줄일 필요없이 그대로 출력해주고 minute - 45를

해서 출력해준다.

좋은 웹페이지 즐겨찾기