본문 바로가기
백준

[백준] 2884번 : 알람 시계 – JAVA [자바]

by Hongwoo 2022. 7. 6.
반응형

https://www.acmicpc.net/problem/2884

 

2884번: 알람 시계

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

www.acmicpc.net

 


  • 문제

 


  • 문제 풀이

백준 2884번 알람 시계는 브론즈 3 난이도의 수학 문제이다. 이 문제에서는 두 정수 H와 M이 주어진다. 이것은 H시 M분을 뜻한다. 그리고 이 시간에서 45분을 뺀 시간을 출력하면 된다. 예시를 한번 보겠다.

 

EX 1) H = 10, M = 10

45분을 빼면 H = 9, M = 25가 된다.

 

EX 2) H = 0, M = 30

45분을 빼면 H = 23, M = 45가 된다.

 

EX 3) H = 23, M = 40

45분을 빼면 H = 22, M = 55가 된다.

 

여기서 알 수 있듯이 만약에 M이 45보다 작으면 H를 1씩 감소시켜야 한다. 그리고 만약에 H가 0이면 H를 23으로 설정해줘야 한다. 그리고 M이 45보다 작으면 M에서 우선 45를 빼주고 60을 더해주면 된다. 자세한 코드는 밑에 있다.

 


  • 코드

 

import java.io.*;
import java.util.*;
public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int h = Integer.parseInt(st.nextToken());
        int m = Integer.parseInt(st.nextToken());
        m -= 45;
        if (m < 0) {
            h--;
            m += 60;
        }
        if (h < 0) h = 23;
        System.out.print(h + " " + m);
    }
}

 

 

반응형

댓글