업데이트:

문제 링크

백준 2525번 - 오븐시계 (Bronze 3)

문제 설명

시간끼리의 덧셈을 구현하는 문제이다. 입력으로는 현재 시각 A시 B분과 요리하는 데 필요한 시간 C가 분 단위로 주어진다.

주의점

  • 받아올림에 주의해야한다.
    • 1시 50분 + 20분은 1시 70분이 아닌, 2시 10분이다.
    • 22시 40분 + 90분은 24시 10분이 아닌, 0시 10분이다.

정답 코드 및 설명

1
2
3
4
5
6
7
8
9
10
11
12
13
14
import java.util.Scanner;
public class Main {
    public static void main(String args[]) {
        Scanner in = new Scanner(System.in);
        int A = in.nextInt();
        int B = in.nextInt();
        int C = in.nextInt();
        int C_hour = C / 60;
        int C_min = C % 60;
        int end_hour = (A + C_hour + ((B + C_min) / 60)) % 24;
        int end_min = (B + C_min) % 60;
        System.out.printf("%d %d", end_hour, end_min);
    }
}
  • 요리 시간 C를 시간과 분 단위로 쪼개기 : 8, 9행
    • C를 60으로 나눈 몫이 시간, 나머지가 분에 해당한다.
  • 분 덧셈 구현 : 11행
    • 분끼리 더해서 60으로 나눈 나머지가 분에 해당한다.
  • 시간 덧셈 구현 : 10행
    • 분끼리 더해서 60으로 나눈 몫이 받아올림에 해당
    • 24시간 표기법을 사용하므로 24로 나눈 나머지만을 취한다.

태그:

카테고리:

업데이트:

댓글남기기