코딩테스트

[백준/JAVA] 2884 알람 시계

코드사냥꾼 2021. 4. 27. 00:24

문제

 

나의 접근 방법

단지, 45분전의 시간만 구하면 되는 것이다. 

1. 만약 입력받은 분이 45분보다 작다면 시간은 -1이 되며, 45분전의 시간의 분(M)은 기존의 분 +15분이 된다. 

1-1. 이렇게 생각한 이유

2. 시간이 0보다 작아진다면 해당 시간을 23으로 설정하면 된다.

 

가지 입력 방법을 가지고 해결해보자

 

- Scanner 사용 (소요시간 256ms)

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int H = sc.nextInt();
        int M = sc.nextInt();
        
        // 분이 45분보다 작다면
        if(M<45) {
            // 시간은 -1
            H--;
            // 분은 +15
            M = M+15;
            
            // 시간이 0시라면 
            // 45분전 시간에는 23시이다.
            if(H<0) {
                H = 23;
            }
            System.out.print(H+" "+M);
        } else {
            System.out.print(H+" "+(M - 45));
        }
    }
}

 

- BufferedReader 사용 (소요시간 160ms)

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;

public class Main {
    public static void main(String[] args) throws IOException {
        
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        
        // 버퍼드리더는 readLine을 통해 한 행을 전부 읽기 때문에 
        // 공백 단위로 쪼개야 한다.
        String[] str = br.readLine().split(" ");
        int H = Integer.parseInt(str[0]);
        int M = Integer.parseInt(str[1]);
        
        // 분이 45분보다 이전이라면
        if(M<45) {
            H--;
            M = M+15;
            
            // 시간이 0시라면 
            // 45분전 시간에는 23시이다.
            if(H<0) {
                H = 23;
            }
            System.out.print(H+" "+M);
        } else {
            System.out.print(H+" "+(M - 45));
        }
    }
}

 

 

www.acmicpc.net/problem/2884

 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net

 

'코딩테스트' 카테고리의 다른 글

[백준/JAVA] 15552 빠른 A+B (BufferedWriter)  (0) 2021.04.27
[백준/JAVA] 10950번 A+B-3  (0) 2021.04.27
[구름LEVEL] 3차원 배열  (0) 2021.03.15
[구름LEVEL] 369 게임  (0) 2021.03.13