자바 백준 2525번
브론즈 3
https://www.acmicpc.net/problem/2525
문제 보기
분류: 수학, 사칙연산
문제 풀기
조리 시작 시각을 전체 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 |