BAEKJOON/수학

백준 2525번 [오븐 시계](JAVA) -yes6686- 티스토리

yes6686 2025. 1. 8. 20:41
728x90
반응형
SMALL

백준 문제 풀이: 2525 [오븐 시계]


문제 링크: https://www.acmicpc.net/problem/2525

문제 설명:

현재 시간과 조리 시간을 입력받아, 조리가 끝난 시간을 계산하는 문제입니다. 시간은 24시간 형식으로 주어지며, 입력된 분과 시간을 더한 결과가 하루(24시간)를 넘길 경우, 이를 고려해야 합니다.


문제 해결 코드


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in); // 입력을 받기 위한 Scanner 객체 생성

        int h = scanner.nextInt(); // 현재 시(hour)
        int m = scanner.nextInt(); // 현재 분(minute)
        int t = scanner.nextInt(); // 추가할 조리 시간(분)

        // 총 분 계산
        m += t; 
        h += m / 60; // 분을 시간으로 변환
        m %= 60; // 남은 분

        // 24시간 초과 시 조정
        if (h >= 24) {
            h -= 24;
        }

        System.out.println(h + " " + m); // 결과 출력
    }
}

예제 입력:

23 48 25

예제 출력:

0 13

코드 설명

  • 핵심 알고리즘: 현재 시각에 조리 시간을 더해 새로운 시각을 계산합니다. 계산 후 24시간 초과를 고려하여 시간 값을 조정합니다.
  • 구현 세부사항:
    • 조리 시간을 분 단위로 더한 후, 초과한 분을 시간으로 변환하여 더합니다.
    • 24시간 형식을 유지하기 위해 시간 값이 24 이상일 경우 24를 빼줍니다.
  • 시간 복잡도 분석: 모든 연산은 상수 시간(O(1))에 수행되므로 효율적입니다.

결과

입력된 시각과 조리 시간을 더한 결과를 정확히 계산하고 출력합니다. 간단하지만 시각 초과 처리를 요구하는 문제로, 시간 계산의 기본기를 다질 수 있습니다. 추가적인 질문이나 개선 사항이 있다면 댓글로 알려주세요!

728x90
반응형
LIST