[λ°±μ€€ 2884번] μ•ŒλžŒ μ‹œκ³„

문제


μƒκ·Όμ΄λŠ” 맀일 μ•„μΉ¨ μ•ŒλžŒμ„ λ“£κ³  μΌμ–΄λ‚œλ‹€. μ•ŒλžŒμ„ λ“£κ³  λ°”λ‘œ μΌμ–΄λ‚˜λ©΄ λ‹€ν–‰μ΄κ² μ§€λ§Œ, 항상 쑰금만 더 μžλ €λŠ” 마음 λ•Œλ¬Έμ— 맀일 학ꡐλ₯Ό μ§€κ°ν•˜κ³  μžˆλ‹€.

μƒκ·Όμ΄λŠ” λͺ¨λ“  방법을 λ™μ›ν•΄λ³΄μ•˜μ§€λ§Œ, 쑰금만 더 μžλ €λŠ” λ§ˆμŒμ€ κ·Έ μ–΄λ–€ 것도 없앨 μˆ˜κ°€ μ—†μ—ˆλ‹€.

이런 상근이λ₯Ό λΆˆμŒν•˜κ²Œ 보던, μ°½μ˜μ΄λŠ” μžμ‹ μ΄ μ‚¬μš©ν•˜λŠ” 방법을 μΆ”μ²œν•΄ μ£Όμ—ˆλ‹€.

λ°”λ‘œ "45λΆ„ 일찍 μ•ŒλžŒ λ§žμΆ”κΈ°"이닀.

이 방법은 λ‹¨μˆœν•˜λ‹€. μ›λž˜ λ§žμΆ°μ ΈμžˆλŠ” μ•ŒλžŒμ„ 45λΆ„ μ•žμ„œλŠ” μ‹œκ°„μœΌλ‘œ λ°”κΎΈλŠ” 것이닀. μ–΄μ°¨ν”Ό μ•ŒλžŒ μ†Œλ¦¬λ₯Ό λ“€μœΌλ©΄, μ•ŒλžŒμ„ 끄고 쑰금 더 잘 것이기 λ•Œλ¬Έμ΄λ‹€. 이 방법을 μ‚¬μš©ν•˜λ©΄, 맀일 μ•„μΉ¨ 더 μž€λ‹€λŠ” 기뢄을 λŠλ‚„ 수 있고, 학ꡐ도 μ§€κ°ν•˜μ§€ μ•Šκ²Œ λœλ‹€.

ν˜„μž¬ 상근이가 λ§žμΆ°λ…Ό μ•ŒλžŒ μ‹œκ°μ΄ μ£Όμ–΄μ‘Œμ„ λ•Œ, 창영이의 방법을 μ‚¬μš©ν•œλ‹€λ©΄, 이λ₯Ό μ–Έμ œλ‘œ 고쳐야 ν•˜λŠ”μ§€ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

μž…λ ₯


첫째 쀄에 두 μ •μˆ˜ H와 M이 주어진닀. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 ν˜„μž¬ 상근이가 λ§žμΆ°λ†“μ€ μ•ŒλžŒ μ‹œκ°„ Hμ‹œ M뢄을 μ˜λ―Έν•œλ‹€.

μž…λ ₯ μ‹œκ°„μ€ 24μ‹œκ°„ ν‘œν˜„μ„ μ‚¬μš©ν•œλ‹€. 24μ‹œκ°„ ν‘œν˜„μ—μ„œ ν•˜λ£¨μ˜ μ‹œμž‘μ€ 0:0(μžμ •)이고, 끝은 23:59(λ‹€μŒλ‚  μžμ • 1λΆ„ μ „)이닀. μ‹œκ°„μ„ λ‚˜νƒ€λ‚Ό λ•Œ, λΆˆν•„μš”ν•œ 0은 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ”λ‹€.

좜λ ₯


첫째 쀄에 상근이가 창영이의 방법을 μ‚¬μš©ν•  λ•Œ, λ§žμΆ°μ•Ό ν•˜λŠ” μ•ŒλžŒ μ‹œκ°„μ„ 좜λ ₯ν•œλ‹€. (μž…λ ₯κ³Ό 같은 ν˜•νƒœλ‘œ 좜λ ₯ν•˜λ©΄ λœλ‹€.)

예제 μž…λ ₯ 1


10 10

예제 좜λ ₯ 1


9 25

 

문제 풀이


λ‹¨μˆœν•˜κ²Œ if문의 μ‘°ν•©λ§ŒμœΌλ‘œ ν•΄κ²°ν•  수 μžˆλŠ” λ¬Έμ œμ΄λ‹€.
ν’€κΈ° 전에, 쒅이에닀가 직접 μ‹œκ°„ 계산을 해보면 μ‰½κ²Œ κ·œμΉ™μ„ μ•Œ 수 μžˆλ‹€.
H와 M의 λ²”μœ„κ°€ μ •ν•΄μ ΈμžˆμœΌλ―€λ‘œ, ν•΄λ‹Ή 쑰건만 잘 μ§€μΌœμ£Όλ©΄ μ‰½κ²Œ 문제λ₯Ό ν•΄κ²°ν•  수 μžˆλ‹€.
MλΆ€ν„° κ³„μ‚°ν•˜λŠ” 것이 훨씬 μˆ˜μ›”ν•˜λ©°, λ§Œμ•½ M이 45보닀 μž‘λ‹€λ©΄ 무쑰건 Hκ°€ 1이 μ€„μ–΄λ“œλ©° Mμ—λŠ” 45λ₯Ό λ‹€μ‹œ 더해주면 λœλ‹€.(λ§ˆμ΄λ„ˆμŠ€ 값이 되기 λ•Œλ¬Έ) 
λ§ˆμ§€λ§‰μœΌλ‘œ H λ˜ν•œ λ§Œμ•½ 0보닀 μž‘은 κ°’을 κ°€μ§€κ²Œ λ˜λ©΄, 24λ₯Ό λ‹€μ‹œ λ”ν•΄μ£Όλ©΄ λœλ‹€.

 

μ†ŒμŠ€ μ½”λ“œ



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 public class Main {
    public static void main(String[] args) {
 
        Scanner in = new Scanner(System.in);
        int H = in.nextInt();
        int M = in.nextInt();
 
        if(M < 45) {
            H = H - 1;
            M = M - 45 + 60;
        } else {
            M = M - 45;
        }
 
        if(H < 0) {
            H += 24;
        }
 
        System.out.print(H+" "+M);
 
    }
}