[BOJ] 백준 2884 - 알람 시계

👩🏻‍💻 문제

👩🏻‍💻 정답 코드

import java.io.*;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int h = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());

        if (m<45){
            if (h==0) h=24;
            h-=1;
            m+=60;
        }
        bw.write(Integer.toString(h)+" "+Integer.toString(m-45));
        bw.flush();
        bw.close();
        br.close();
    }
}

단계별에서 if문에 있었던 문제인데, m이 45보다 작으면 h에서 1 받아내림 해 와서 계산하는 시간 계산 문제다. h가 0일 때는 24시로 바꿔 준 후에 받아내림 해야 음수가 되지 않는다는 것도 잊으면 안 된다. 이제야 buffer 써서 입출력 하는 거 좀 익숙해진 듯...

좋은 웹페이지 즐겨찾기