반응형
https://www.acmicpc.net/problem/2884
문제 해설
두 정수 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);
}
}
}
반응형
'Algorithm > Baekjoon' 카테고리의 다른 글
[백준 알고리즘][자바] 10952번 : A+B -5 (0) | 2021.01.10 |
---|---|
[백준 알고리즘][자바] 15552번 : 빠른 A+B (0) | 2021.01.10 |
[백준 알고리즘][자바] 2753번 : 윤년 (0) | 2021.01.09 |
[백준 알고리즘][자바] 1330번 : 두 수 비교하기 (0) | 2021.01.06 |
[백준 알고리즘][자바] 2588번 : 곱셈 (0) | 2021.01.05 |
댓글