반응형
이전에 풀었던 문제인 알람 시계와는 다르게 이번에는 입력 시각에 시간을 더하는 문제다.
import java.util.*;
public class Main{
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
int h, m, oven;
h = sc.nextInt();
m = sc.nextInt();
oven = sc.nextInt();
//현재 분과 오븐 시간이 60 이상일 때
if((m+oven)> 59){
//분과 오븐 시간을 더한 뒤, 60으로 나눈 몫을 현재 시에 더해줌.
h += (m+oven)/60;
m += oven;
//m을 60으로 나눈 나머지가 분이 된다.
m %= 60;
if(h > 23){
//23시보다 크면 0시이므로 24로 나눈 나머지를 시로 바꿈.
h %= 24;
}
}else{
h += (m+oven)/60;
m += oven;
m %= 60;
if(h > 23){
h %= 24;
}
}
System.out.printf("%d %d",h, m);
sc.close();
}
}
풀면서 자꾸 헷갈려서 주석을 달았다.
풀고 나서 다른 사람들이 푼 방법을 찾아보니까 더 간단한 방법이 있다는 걸 알게 되었다.
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2739 - 구구단 (0) | 2024.01.30 |
---|---|
[백준] 2480 - 주사위 세 개 (0) | 2024.01.29 |
[백준] 2884 - 알람 시계 (0) | 2024.01.27 |
[백준] 14681 - 사분면 고르기 (0) | 2024.01.26 |
[백준] 2753 - 윤년 (0) | 2024.01.25 |