자바 백준 2525번
브론즈 3
https://www.acmicpc.net/problem/2525
2525번: 오븐 시계
첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.)
www.acmicpc.net
문제 보기

분류: 수학, 사칙연산
문제 풀기
조리 시작 시각을 전체 minute 로 전환한다.
hour 을 minute 로 변경된 값에 조리 시간 minute 를 더한 뒤 날짜 변경이 있을 수 있기에 1440 으로 나눈 나머지만 저장한다.
이렇게 계산된 나머지 minute 로 시, 분을 구하고 출력한다.
코드 보기
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
// 시, 분, 조리시간 입력 받기
int hour = sc.nextInt();
int minute = sc.nextInt();
int cookingTime = sc.nextInt();
// 조리 완료 후 시각 계산
String result = calcTheTimeAfterCooking(hour, minute, cookingTime);
// 결과 출력
System.out.print(result);
}
public static String calcTheTimeAfterCooking(int hour, int minute, int cookingTime) {
// 시작 시각을 minute 형식으로 표현
int totalMinute = hour * 60 + minute;
// 조리 시간을 더하고 하루 24시간 루틴에 의해 변경 되는 시간을 나머지 계산으로 minute 만 남김
int newMinute = (totalMinute + cookingTime) % 1440; // 24 * 60 = 1440
// newMinute으로 바뀐 완료 시각의 hour를 몫 계산으로 구함
int newHour = newMinute / 60;
// newMinute으로 바뀐 완료 시각의 minute를 나머지 계산으로 구함
int newMinuteRemainder = newMinute % 60;
return newHour + " " + newMinuteRemainder;
}
}
'공부하기 > 백준' 카테고리의 다른 글
| [Java] 백준 풀기 11022 - A+B 8 (0) | 2023.06.24 |
|---|---|
| [Java] 백준 풀기 25314 - 코딩은 체육과목 입니다 (0) | 2023.06.23 |
| [Java] 백준 풀기 2884 - 알람 시계 (0) | 2023.06.21 |
| [Java] 백준 풀기 1550 - 16진수 (0) | 2023.06.20 |
| [Java] 백준 풀기 11021 - A+B 7 (0) | 2023.06.18 |