백준 3029 - 경고
Updated:
Java
3029 번 - 경고
문제
접근 방법
시간을 초로 변환하여 계산한다.
출력 포멧을 printf를 이용한다.
코드
import java.util.*;
import java.io.*;
public class Main {
static int n;
public static void main(String[] args) throws IOException {
//System.setIn(new FileInputStream("res/mainInput.txt")); //제출 할 때 주석해야함
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String start = br.readLine();
String end = br.readLine();
int sTime = 0, eTime = 0;
StringTokenizer stk = new StringTokenizer(start, ":");
for(int i = 2; i >= 0; i--) {
sTime += stoi(stk.nextToken()) * Math.pow(60, i);
}
stk = new StringTokenizer(end, ":");
for(int i = 2; i >= 0; i--) {
eTime += stoi(stk.nextToken()) * Math.pow(60, i);
}
int wait = (eTime + 24 * 3600 - sTime) % (3600 * 24);
int hour = wait / 3600;
int min = (wait % 3600) / 60;
int sec = (wait % 3600) % 60;
if(sTime == eTime)
System.out.println("24:00:00");
else
System.out.printf("%02d:%02d:%02d", hour, min, sec);
br.close();
}
static int stoi(String str) {
return Integer.parseInt(str);
}
}
총평
후기
시간 계산을 초로 변환 스트링 포멧을 이용