πŸ’  Cpp/[BOJ] λ‹¨κ³„λ³„λ‘œ 풀어보기

[λ°±μ€€][C++/Cμ–Έμ–΄] 2884번 : μ•ŒλžŒ μ‹œκ³„

선달 2021. 2. 6. 03:12
λ°˜μ‘ν˜•

문제

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

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

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

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

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

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

μž…λ ₯

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

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

좜λ ₯

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

풀이

μ²˜μŒμ—λŠ” κ·Έλƒ₯ 경우 λ‚˜λˆ μ„œ t=0 이면 t-- μ΄λŸ°μ‹μœΌλ‘œ μ§κ΄€μ μœΌλ‘œ 썼음..
μ•„λ‹ˆ κ²°κ³ΌλŠ” 맞게 λ‚˜μ˜€λŠ”λ° ν‹€λ Έλ‹€κ³  μ±„μ ν•œλ‹€... _ _ 채점 원리λ₯Ό μ •ν™•νžˆ μ•„λŠ”κ±΄ μ•„λ‹ˆμ§€λ§Œ...
μ•„λ¬΄νŠΌ κ·Έλž˜μ„œ κ³ λ―Όν•˜λ‹€κ°€ μ’€ 더 μžˆμ–΄λ³΄μ΄κ²Œ λ‹€μ‹œ 짬..γ… γ…  κ·Έλž¬λ”λ‹ˆ λ§žμ•˜λ‹€κ³  ν•˜λ„€.. 
#include <stdio.h>

int main() {
    int t, m;
    scanf("%d %d",&t, &m);
    m = m-45;
    if (m<0) {
        m = m + 60;
        t = t - 1;
        if (t<0) {
            t = t+24;
        }
    }
    printf ("%d %d",t, m);
}
λ°˜μ‘ν˜•