728x90
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for (int tc = 1; tc <= t; tc++) {
String time1 = sc.next();
int h1 = Integer.parseInt(time1.substring(0, 2));
int m1 = Integer.parseInt(time1.substring(3, 5));
int s1 = Integer.parseInt(time1.substring(6));
String time2 = sc.next();
int h2 = Integer.parseInt(time2.substring(0, 2));
int m2 = Integer.parseInt(time2.substring(3, 5));
int s2 = Integer.parseInt(time2.substring(6));
if (h2<h1||(h2==h1&&m2<m1)||(h2==h1&&m2==m1&&s2<s1)) {
h2 += 24;
}
int ah, am, as;
if (s2 < s1) {
s2 += 60;
m2 -= 1;
}
as = s2 - s1;
if (m2 < m1) {
m2 += 60;
h2 -= 1;
}
am = m2 - m1;
ah = h2 - h1;
System.out.printf("#" + tc + " %02d:%02d:%02d", ah, am, as);
System.out.println();
}
}
}
초로 계산해서도 다시 풀어보자
import java.util.Scanner;
class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for (int tc = 1; tc <= t; tc++) {
String str1 = sc.next();
int s1 = Integer.parseInt(str1.substring(0, 2)) * 3600 + Integer.parseInt(str1.substring(3, 5)) * 60
+ Integer.parseInt(str1.substring(6));
String str2 = sc.next();
int s2 = Integer.parseInt(str2.substring(0, 2)) * 3600 + Integer.parseInt(str2.substring(3, 5)) * 60
+ Integer.parseInt(str2.substring(6));
if (s1 > s2) {
s2 += 24 * 3600;
}
// System.out.println(s2-s1);
int sumS = s2 - s1;
int ah = sumS / 3600;
int am = sumS % 3600 / 60;
int as = sumS % 60;
System.out.printf("#" + tc + " " + "%02d:%02d:%02d\n", ah, am, as);
}
}
}
분은 시간으로 나누고 남은 것 중에 60으로 나눈 몫
초는 전체를 60으로 나눈 나머지
728x90
'SW Expert Academy > SWEA D3' 카테고리의 다른 글
| [SW Expert Academy] 태혁이의 사랑은 타이밍 (D3) (0) | 2024.09.15 |
|---|---|
| [SW Expert Academy] [Professional] 건초더미 (D3) (0) | 2024.09.14 |
| [SW Expert Academy] 알파벳 공부 (D3) (1) | 2024.09.13 |
| [SW Expert Academy] 100만 이하의 모든 소수 (D3) (0) | 2024.09.13 |
| [SW Expert Academy] 외로운 문자 (D3) (0) | 2024.09.13 |