개발하자

[백준][Java] 2525번 오븐 시계 본문

Algorithms/Baekjoon

[백준][Java] 2525번 오븐 시계

개발리미 2025. 4. 20. 15:08
728x90

안녕하세요 :)

적어도 하루 1개 이상 알고리즘 문제를 해결하려 노력하고 있습니다.

혼자 해결 가능한 문제도 있고, 어려웠던 문제도 있던 차라 복습하고자  글을 써 내려갑니다.

 


 

백준 2525 오븐 시계

오늘 문제는 주어진 시간에서 일정 시간을 더하는 문제입니다.

 

📘 문제

 

💡 해결 방법

입력으로 현재 시각과 요리 시간이 주어지고, 현재 시각에 요리 시간을 더한 결과를 출력해야 합니다.

이때 시와 분으로 이루어진 시각을 다루기 때문에 분이 60을 초과하면 시가 증가하는 방식으로 계산해야 합니다.

 

✅ 풀이 및 설명 (설명은 더보기 클릭)

더보기

 

  • BufferedReader를 사용하여 시(hour), 분(minute), 그리고 요리 시간을 입력받습니다.
  • 요리 시간을 분으로 변환하여 현재 분에 더합니다.
  • 만약 더한 결과의 분이 60 이상이면, 60을 빼고 시(hour)를 증가시킵니다.
  • 시(hour)가 24를 초과하면 0시로 돌아가도록 처리합니다.

 

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));

        String[] currentTime = br.readLine().split(" ");
        int hour = Integer.parseInt(currentTime[0]);
        int minute = Integer.parseInt(currentTime[1]);
        int cookTime = Integer.parseInt(br.readLine());

        // 요리 시간을 분으로 변환하여 현재 분에 더함
        minute += cookTime;

        // 분이 60 이상이면 시를 증가시키고, 분은 60을 빼기
        if (minute >= 60) {
            hour += minute / 60;
            minute = minute % 60;
        }

        // 시가 24 이상이면 0시로 돌려주기
        if (hour >= 24) {
            hour = hour % 24;
        }

        System.out.println(hour + " " + minute);

        br.close();
    }
}

 

 

이 문제는 시간과 분 계산을 잘 해내야 하는 문제였습니다.

특히 분을 60 이상으로 만들고 시를 증가시키는 부분과 시가 24를 넘을 경우 0시로 돌아가게 처리하는 것이 중요했습니다.

 

 


공부하면서 유용했던 부분 메모 겸 공유하고자 끄적입니다.

고쳐야 하는 부분 있다면 댓글 남겨주시면 수정하겠습니다.

행복한 하루 보내세요 (❁´◡`❁)

728x90
반응형