[백준_Condition] 2884번 문제

Kwon·2023년 10월 19일

백준

목록 보기
3/22

사진 출처 : https://www.acmicpc.net/

백준 2884번 문제


풀이

이번 문제는 시(hour)와 분(minute)를 하나 씩 따져 봐야했기에 조건문 위주로 사용했다.

Scanner sc = new Scanner(System.in);
int hour = sc.nextInt();
int minute = sc.nextInt();
if ((hour >= 0 && hour <= 23) && (minute >= 0 && minute <= 59)) {
    minute -= 45;
    if (minute < 0) {
        minute += 60;
        hour -= 1;
        if (hour < 0) hour += 24;
        System.out.println(hour + " " + minute);
    } else System.out.println(hour + " " + minute);

1. 첫 조건문에서 시간이 0시 ~ 23시 및 0분 ~ 59분 확인하기

  1. 45분 일찍 설정 및 첫 조건문

45미만의 분을 설정해주면 음수의 값을 갖냐 갖지 않냐를 두고 조건문을 만들었다.

  1. if minute < 0 == true

앞서 -45 해준 값이 음수가 나온다면 minute에 +60 하고 hour -1 을 해주면 시간이 맞는다.

ex) hour : 11, minute : 20 (- 45)
hour : 10 (+ 1), minute : -25 (+ 60)

그리고 만일 새벽 0시 대로 시간을 맞췄다면, hour은 음수를 갖게 되니 밤으로 넘어갈 수 있도록 +24를 해준다.

profile
📲 @bu_kwon_2 / 💻 dnu05043.log / ⌨ Back-end / 🦁 LikeLion

0개의 댓글