Algorithm

λ°±μ€€ - κ±°μŠ€λ¦„λˆ(Swift)

CheonD 2022. 10. 23. 16:28

λ°±μ€€ - κ±°μŠ€λ¦„λˆ(Swift)

 

 

 λ¬Έμ œ μ„€λͺ…

 

https://www.acmicpc.net/problem/5585

 

5585번: κ±°μŠ€λ¦„λˆ

νƒ€λ‘œλŠ” 자주 JOIμž‘ν™”μ μ—μ„œ 물건을 μ‚°λ‹€. JOIμž‘ν™”μ μ—λŠ” μž”λˆμœΌλ‘œ 500μ—”, 100μ—”, 50μ—”, 10μ—”, 5μ—”, 1엔이 μΆ©λΆ„νžˆ 있고, μ–Έμ œλ‚˜ κ±°μŠ€λ¦„λˆ κ°œμˆ˜κ°€ κ°€μž₯ 적게 μž”λˆμ„ μ€€λ‹€. νƒ€λ‘œκ°€ JOIμž‘ν™”μ μ—μ„œ 물건을 사

www.acmicpc.net

 

 λ‚˜μ˜ 풀이

 

큰 μˆ˜λΆ€ν„° κ±°μŠ€λ¦„λˆμ΄ μ±„μ›Œμ§ˆλ•ŒκΉŒμ§€ λ‚˜λˆ„λ©΄ λ˜λŠ” 그리디 λ¬Έμ œμ΄λ‹€. 

let arr = [500, 100, 50, 10, 5, 1]

var n = Int(readLine()!)!
var money = 1000 - n
var cnt = 0
var idx = 0
while money > 0 {
    if money >= arr[idx] {
        cnt += money / arr[idx]
        money = money % arr[idx]
    }
    idx += 1
}

print(cnt)