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