[백준] 2884번 - Java

공대표·2021년 9월 15일

[백준] 

목록 보기
16/16

2021.09.15 작성

문제

문제가 길지만 요약을 하면 첫 줄에 H, M을 입력받고 H는 시간 M은 분이며 이 시간에서 -45분을 뺀 값을 출력하라 이거다.
그렇다면 생각해야 하는게 45분 이하이면 H를 하나 빼주고 또 H가 0보다 작아지면 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 (b >= 45) {
                System.out.println(a + " " + (b - 45));
            } else {
                System.out.println(23 + " " + (60 + b - 45));
            }
        } else {
            if (b >= 45) {
                System.out.println(a + " " + (b - 45));
            } else {
                System.out.println((a - 1) + " " + (60 + b - 45));
            }
        }
    }
}
import java.io.*;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        /* 빠른 입출력 */
        BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st = new StringTokenizer(bf.readLine());

        int h = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());

        if (h == 0) {
            if (m >= 45) {
                bw.write(String.valueOf(h + " " + (m - 45)) + "\n");
            } else {
                bw.write(String.valueOf(23 + " " + (60 + m - 45)) + "\n");
            }
        } else {
            if (m >= 45) {
                bw.write(String.valueOf(h + " " + (m - 45)) + "\n");
            } else {
                bw.write(String.valueOf((h - 1) + " " + (60 + m - 45)));
            }
        }
        
        bw.flush();
        bw.close();
    }
}

딱히 설명할 내용은 없다.

결과


제출 번호 33340678 - 일반 입력
제출 번호 33340847 - 빠른 입력

(중간에 빠른 입출력에서 줄 바꿈을 안 해줘서 틀렸다.)

0개의 댓글