티스토리 뷰

코딩/자바 백준

백준 1408 24 (JAVA)

박상어 2021. 6. 29. 17:21
728x90

 

3가지만 고려하면 됩니다.

1. 첫째 줄 입력이 현재 시간이고, 둘째 줄 입력이 임무 시작 시간

2. 초,분,시간끼리 임무 시작 시간에서 현재 시간의 차 구하기

3. 2번의 결과가 음수면 초,분,시에 맞게 60/60/24 더하기

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
import java.io.*;
import java.util.*;
 
class time {
    int sec = 0;
    int min = 0;
    int hour = 0;
 
    public time() {
 
    }
 
    public time(int sec, int min, int hour) {
        this.sec = sec;
        this.min = min;
        this.hour = hour;
    }
}
 
public class Main {
    public static void main(String args[]) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String start = br.readLine();
        String end = br.readLine();
        br.close();
 
        int s = 0, m = 0, h = 0;
 
        StringTokenizer st = new StringTokenizer(start, ":");
        while (st.hasMoreTokens()) {
            s = Integer.parseInt(st.nextToken());
            m = Integer.parseInt(st.nextToken());
            h = Integer.parseInt(st.nextToken());
        }
        time C = new time(h, m, s);
 
        st = new StringTokenizer(end, ":");
        while (st.hasMoreTokens()) {
            s = Integer.parseInt(st.nextToken());
            m = Integer.parseInt(st.nextToken());
            h = Integer.parseInt(st.nextToken());
        }
        time S = new time(h, m, s);
 
        time R = new time();
        R.sec = S.sec - C.sec;
 
        if (R.sec < 0) {
            R.sec += 60;
            C.min++;
        }
 
        R.min = S.min - C.min;
        if (R.min < 0) {
            R.min += 60;
            C.hour++;
        }
 
        R.hour = S.hour - C.hour;
        if (R.hour < 0) {
            R.hour += 24;
        }
 
        String res = "";
        res = R.hour < 10 ? "0" + R.hour + ":" : R.hour + ":";
 
        res += R.min < 10 ? "0" + R.min + ":" : R.min + ":";
 
        res += R.sec < 10 ? "0" + R.sec : R.sec;
 
        System.out.println(res);
    }
}
cs

'코딩 > 자바 백준' 카테고리의 다른 글

백준 1357 뒤집힌 덧셈 (JAVA)  (0) 2021.07.06
백준 1384 메시지 (JAVA)  (0) 2021.07.06
백준 1769 3의 배수 (JAVA)  (0) 2021.06.27
백준 1568 새 (JAVA)  (0) 2021.06.27
백준 1912 JAVA (연속합)  (0) 2021.05.15
댓글