Algorithm/Baekjoon
[백준 알고리즘][자바] 2884번 : 알람시계
hyunipad
2021. 1. 9. 23:54
반응형
https://www.acmicpc.net/problem/2884
2884번: 알람 시계
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,
www.acmicpc.net
문제 해설
두 정수 H(시간), M(분)을 입력했을 때, 45분 앞서는 시간으로 출력을 해줘야 한다.
여기서 포인트는 45분 앞선 시간을 출력할 때, 시간의 변화를 체크해서 출력해줘야 한다는 점
해결 방법
M(분)이 음수로 떨어지면 H(시간)이 한시간 마이너스된다. M은 0~59 사이의 숫자이기 때문에 60진법이라고 생각하면 쉽게 풀 수 있다. 여기서 주의할 점은 H(시간)이 0시에서 23시로 갈 때만 체크해주면 된다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int H, M, set_H, set_M;
H = scan.nextInt();
M = scan.nextInt();
if (0 <= H && 23 >= H && 0 <= M && 59 >= M) {
set_H = H;
set_M = M - 45;
if (set_M < 0) {
set_H--;
if (set_H < 0) {
set_H = 23;
}
set_M = set_M + 60;
}
System.out.println(set_H + " " + set_M);
}
}
}
반응형