반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
45분 이른 시간을 구하는 문제입니다.
2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학
60진법인 시간을 계산하는 문제입니다. SW적성시험에서도 가끔 나오는 유형으로, 의외로 시간 계산하는 게 쉽지 않습니다. 시간은 12진법이고, 분은 60진법으로 계산해야 합니다.
3. 코드
H, M = list(map(int, input().split()))
if M < 45:
M += 15
H -= 1
if H < 0:
H = 23
else:
M -= 45
print (H, M)
두 가지 경우로 나누어서 풀이합니다.
1) 45분 이하인 경우, 윗 자리인 '시간'에서 1을 빼고 60을 더해서 뺍니다. -45 + 60이므로 +15만 해주면 됩니다.
다만, 시간이 0시일 경우에는 23시로 보정해줍니다.
2) 45분 이상인 경우, 분에서만 45을 빼면 됩니다.
import java.util.Scanner;
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) {
System.out.printf("%d %d", H, M-45);
}
else {
if(H == 0) {
System.out.printf("%d %d", 23, M+60-45);
}
else
System.out.printf("%d %d", H-1, M+60-45);
}
}
}
반응형
'Algorithm' 카테고리의 다른 글
[구현/수학] 백준 2577 숫자의 개수 - Python, Java (0) | 2022.01.23 |
---|---|
[구현/수학] 백준 1110 더하기 사이클 - Python, Java (0) | 2022.01.22 |
[구현/수학] 백준 2576 홀수 - Python (0) | 2022.01.20 |
[구현/수학] 백준 13458 시험 감독 - Python (0) | 2022.01.19 |
[Algorithm] 단골 1번 문제, 구현 / 수학 (0) | 2022.01.19 |
댓글