오늘은 if문에서 가장 마지막 문제인 알람시계 문제를 정리해보려 합니다.
문제는
https://www.acmicpc.net/problem/2884
여기서 확인하시면 됩니다.
문제풀이
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int H = sc.nextInt();
int M = sc.nextInt();
if((M - 45) < 0) {
if((H -1) < 0) {
H = - 1 + 24;
M = M - 45 + 60;
} else {
H -= 1;
M = M - 45 + 60;
}
} else {
M = M - 45;
}
System.out.print(H + " " + M);
}
}
사실 이번 문제의 핵심이라고 하면 시간을 계산하는 문제이기 때문에 1~60이 넘어가면 다시 1부터 시작해주도록 코딩해야 한다는 것입니다. 반대로는 1에서 10을 빼면 50이 나오도록 코딩해 주어야 합니다.
그래서 여기서는 if문안에 if문을 써서 분에서 45분을 뺀 시간이 음수일 경우 양수일 경우를 나누어서 코딩하고 음수일 경우는 마찬가지로 시간에서 1이 빠질 때 음수일 경우 양수일 경우를 나누어서 코딩해주면 됩니다.
'Algorithm > Baekjoon' 카테고리의 다른 글
[Baekjoon] 백준 1157 단어공부 - java (0) | 2021.07.12 |
---|---|
[Baekjoon] 백준 1110 더하기 사이클 - java (0) | 2021.07.11 |
[Baekjoon] 백준 10871 X보다 작은 수 - java (0) | 2021.07.10 |
[Baekjoon] 백준 2439 별찍기 2 - java (0) | 2021.06.29 |
[Baekjoon] 백준 2438 별찍기 1 - java (2) | 2021.06.28 |