[백준][Java][조건문] 2884번 - 알람 시계

2025. 5. 31. 20:18·알고리즘/백준 풀이

 

문제

 

백준 조건문 단계 중 다섯 번째 문제입니다.

 

대충 '입력 받은 시간보다 45분 앞 시간을 표현하라'는 문제입니다.

 

입력받은 시간이 45분보다 작은 00시 00분 ~ 00시 44분 사이라면, 24시간을 더해줘야겠습니다.

 

나중에 유지보수하기 쉽도록 45분을 상수화 시켜서 조건을 주겠습니다.

 


풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        // Scanner 선언
        Scanner sc = new Scanner(System.in);

        // 시간 및 분 입력받기 & 상수 선언
        int H = sc.nextInt();
        int M = sc.nextInt();
        final int ALARM_TIME = 45; // 알람을 45분 앞으로
        final int DAY_MIN = 60 * 24; // 하루를 분으로 치환

        // 입력받은 시간 - 45분 계산하여 출력하기
        /**
         * 생각하기
         * 
         * 하루는 00시 00분 ~ 23시 59분이며, 이는 분으로 통합하면 0분 ~ 1439분으로 표현 가능하다.
         * 
         * 만일 입력받은 시간이 0 ~ 44분 사이라면, 알람 시계는 입력받은 시간 - 45분(알람 설정 시간) + 1440분(하루)이 되어야 하고,
         * 입력받은 시간이 45분 ~ 1439분이라면, 알람 시계는 입력받은 시간 - 45분(알람 설정 시간)이 되어야 한다.
         * 
         */
        // 알람의 시간
        int totalAlarm = 0; // 알람 시계의 총 시간(분)
        int totalMin = H * 60 + M; // 현재 시간을 분으로 치환
        
        if(totalMin < ALARM_TIME) { // 현재 시간 - 45분 + 1440분으로 계산
            totalAlarm = totalMin - ALARM_TIME + DAY_MIN;
        } else { // 현재 시간 - 45분으로 계산
            totalAlarm = totalMin - ALARM_TIME;
        }

        int alarmHour = totalAlarm / 60; // 알람 시계의 시
        int alarmMin = totalAlarm % 60; // 알람 시계의 분

        // 결과 출력
        System.out.println(alarmHour + " " + alarmMin);

        // Scanner close
        sc.close();
    }
}
'알고리즘/백준 풀이' 카테고리의 다른 글
  • [백준][Java][조건문] 2480번 - 주사위 세개
  • [백준][Java][조건문] 2525번 - 오븐 시계
  • [백준][Java][조건문] 14681번 - 사분면 고르기
  • [백준][Java][조건문] 2753번 - 윤년
jake8440
jake8440
언젠가는 꾸밀 블로그입니다
  • jake8440
    레오의 블로그
    언젠가는 꾸밀 블로그입니다
  • 전체
    오늘
    어제
    • 모든 글 (31)
      • 알고리즘 (20)
        • 알고리즘 이론 (0)
        • 백준 풀이 (20)
      • 블로그 관리 (11)
        • Tistory 설정 작업 (9)
        • Tistory 스킨 작업 (2)
      • IT정보 (0)
        • 컴퓨터 조립 (0)
      • 투자일기 (0)
        • 비트코인 (0)
        • 주식 (0)
  • hELLO· Designed By정상우.v4.10.3
jake8440
[백준][Java][조건문] 2884번 - 알람 시계
상단으로

티스토리툴바