πŸ“– Algorithm/πŸ“ λ°±μ€€

Kotlin 🍬 λ°±μ€€ 2단계 :: 2525 번

λ²ŒκΏ€μ˜€μ†Œλ¦¬πŸ¦‘ 2023. 3. 19. 13:38
λ°˜μ‘ν˜•

였븐 μ‹œκ³„

문제   |

  KOI μ „μžμ—μ„œλŠ” 건강에 μ’‹κ³  λ§›μžˆλŠ” ν›ˆμ œμ˜€λ¦¬κ΅¬μ΄ μš”λ¦¬λ₯Ό κ°„νŽΈν•˜κ²Œ λ§Œλ“œλŠ” 인곡지λŠ₯ μ˜€λΈμ„ κ°œλ°œν•˜λ €κ³  ν•œλ‹€. 인곡지λŠ₯ μ˜€λΈμ„ μ‚¬μš©ν•˜λŠ” 방법은 μ λ‹Ήν•œ μ–‘μ˜ 였리 ν›ˆμ œ 재료λ₯Ό 인곡지λŠ₯ μ˜€λΈμ— λ„£μœΌλ©΄ λœλ‹€. 그러면 인곡지λŠ₯ μ˜€λΈμ€ μ˜€λΈκ΅¬μ΄κ°€ λλ‚˜λŠ” μ‹œκ°„μ„ λΆ„ λ‹¨μœ„λ‘œ μžλ™μ μœΌλ‘œ κ³„μ‚°ν•œλ‹€. 

  λ˜ν•œ, KOI μ „μžμ˜ 인곡지λŠ₯ 였븐 μ•žλ©΄μ—λŠ” μ‚¬μš©μžμ—κ²Œ ν›ˆμ œμ˜€λ¦¬κ΅¬μ΄ μš”λ¦¬κ°€ λλ‚˜λŠ” μ‹œκ°μ„ μ•Œλ € μ£ΌλŠ” 디지털 μ‹œκ³„κ°€ μžˆλ‹€.

  ν›ˆμ œμ˜€λ¦¬κ΅¬μ΄λ₯Ό μ‹œμž‘ν•˜λŠ” μ‹œκ°κ³Ό 였븐ꡬ이λ₯Ό ν•˜λŠ” 데 ν•„μš”ν•œ μ‹œκ°„μ΄ λΆ„λ‹¨μœ„λ‘œ μ£Όμ–΄μ‘Œμ„ λ•Œ, μ˜€λΈκ΅¬μ΄κ°€ λλ‚˜λŠ” μ‹œκ°μ„ κ³„μ‚°ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…λ ₯   |

  첫째 μ€„μ—λŠ” ν˜„μž¬ μ‹œκ°μ΄ λ‚˜μ˜¨λ‹€. ν˜„μž¬ μ‹œκ°μ€ μ‹œ A (0 ≤ A ≤ 23) 와 λΆ„ B (0 ≤ B ≤ 59)κ°€ μ •μˆ˜λ‘œ λΉˆμΉΈμ„ 사이에 두고 μˆœμ„œλŒ€λ‘œ 주어진닀. 두 번째 μ€„μ—λŠ” μš”λ¦¬ν•˜λŠ” 데 ν•„μš”ν•œ μ‹œκ°„ C (0 ≤ C ≤ 1,000)κ°€ λΆ„ λ‹¨μœ„λ‘œ 주어진닀. 

 

좜λ ₯   |

  첫째 쀄에 μ’…λ£Œλ˜λŠ” μ‹œκ°μ˜ μ‹œμ™€ 뢄을 곡백을 사이에 두고 좜λ ₯ν•œλ‹€. (단, μ‹œλŠ” 0λΆ€ν„° 23κΉŒμ§€μ˜ μ •μˆ˜, 뢄은 0λΆ€ν„° 59κΉŒμ§€μ˜ μ •μˆ˜μ΄λ‹€. 디지털 μ‹œκ³„λŠ” 23μ‹œ 59λΆ„μ—μ„œ 1뢄이 μ§€λ‚˜λ©΄ 0μ‹œ 0뢄이 λœλ‹€.)

 

 

풀이  |

  Scannerλ₯Ό μ΄μš©ν•΄ μž…λ ₯을 λ°›μ•„ 좜λ ₯

  if ) ν˜„μž¬ λΆ„ + κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ 60뢄이 λ„˜λŠ” 경우,

     if ) ν˜„μž¬ μ‹œκ°„ + ((ν˜„μž¬ λΆ„ + κ±Έλ¦¬λŠ” μ‹œκ°„)을 λΆ„ λ‹¨μœ„μ—μ„œ μ‹œ λ‹¨μœ„λ‘œ μΉ˜ν™˜) κ°’ 이 24μ‹œκ°„μ΄ λ„˜λŠ” 경우,

       -> ν˜„μž¬ μ‹œκ°„ + ((ν˜„μž¬ λΆ„ + κ±Έλ¦¬λŠ” μ‹œκ°„)을 λΆ„ λ‹¨μœ„μ—μ„œ μ‹œ λ‹¨μœ„λ‘œ μΉ˜ν™˜)μ—μ„œ 24μ‹œκ°„μ΄ 돈 만큼 - 계산

     else ) 24μ‹œκ°„μ΄ λ„˜μ§€ μ•ŠλŠ” 경우

       -> ν˜„μž¬ μ‹œκ°„ + ((ν˜„μž¬ λΆ„ + κ±Έλ¦¬λŠ” μ‹œκ°„)을 λΆ„ λ‹¨μœ„μ—μ„œ μ‹œ λ‹¨μœ„λ‘œ μΉ˜ν™˜)

  else ) ν˜„μž¬ λΆ„ + κ±Έλ¦¬λŠ” μ‹œκ°„μ΄ 60뢄이 λ„˜μ§€ μ•ŠλŠ” 경우

     -> μ‹œκ°„μ€ κ·ΈλŒ€λ‘œ, 뢄은 ν˜„μž¬ λΆ„ + κ±Έλ¦¬λŠ” μ‹œκ°„

 

 

λ‹΅μ•ˆ  |

import java.util.Scanner

fun main() = with(Scanner(System.`in`)) {
    var hours = nextInt()
    var minutes = nextInt()
    val time = nextInt()
    
    if (minutes + time >= 60) {
        if (hours + ((minutes + time) / 60) >= 24) {
            hours = hours + ((minutes + time) / 60) - 24 * ((hours + ((minutes + time)) / 60) / 24)
        } else {
            hours = hours + ((minutes + time) / 60)
        }
        minutes = minutes + time - 60 * ((minutes + time) / 60)
    } else {
        minutes = minutes + time
    }
    
    print("$hours $minutes")
}
λ°˜μ‘ν˜•