728x90
문제
https://www.acmicpc.net/problem/1408
풀이
두 시간대가 주어졌을 때 시간의 차를 계산하는 문제다.
시작 시간과 종료 시간은 최대 48시간 차이가 날 수 있다. 이는 LocalTime.parse로 충분하다.
// Input
LocalTime start = LocalTime.parse(br.readLine());
LocalTime end = LocalTime.parse(br.readLine());
시작 시간과 종료 시간의 차가 음수라면, 종료 시간은 시작 시간의 다음 날을 의미한다.
24시간을 더한 후 올바른 차를 계산해서 출력하자.
// Solve
int totalSec = (int) Duration.between(start, end).getSeconds();
if (totalSec < 0) {
totalSec += 24 * 3600;
}
final int H = totalSec / 3600;
final int M = (totalSec % 3600) / 60;
final int S = totalSec % 60;
// Output
System.out.printf("%02d:%02d:%02d", H, M, S);
}
}
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/baekjoon-online-judge/practice/01408.java
728x90
'PS > Baekjoon Online Judge' 카테고리의 다른 글
[백준 01639] 행운의 티켓 [Java] (0) | 2025.04.07 |
---|---|
[백준 25594] HG 음성기호 [Java] (0) | 2025.04.06 |
[백준 14335] 서로 다른 부분 수열의 개수 [Java] (0) | 2025.04.03 |
[백준 32184] 디미고에 가고 싶어! [Java] (0) | 2025.04.02 |
[백준 01388] 바닥 장식 [Java] (0) | 2025.03.30 |