Algorithm

๋™์ „0 - ๋ฐฑ์ค€(Swift)

CheonD 2022. 10. 22. 22:36

๋™์ „0 - ๋ฐฑ์ค€(Swift)

 

 

 ๋ฌธ์ œ ์„ค๋ช…

 

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

 

11047๋ฒˆ: ๋™์ „ 0

์ฒซ์งธ ์ค„์— N๊ณผ K๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๋™์ „์˜ ๊ฐ€์น˜ Ai๊ฐ€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ฃผ์–ด์ง„๋‹ค. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2์ธ ๊ฒฝ์šฐ์— Ai๋Š” Ai-1์˜ ๋ฐฐ์ˆ˜)

www.acmicpc.net

 

 ๋‚˜์˜ ํ’€์ด

 

ํฐ ๊ฐ’๋ถ€ํ„ฐ ๋‚ด๋ ค์˜ค๋ฉด์„œ ๋‚˜๋ˆ ์ฃผ๋ฉด ๋˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

 

import Foundation

let input = readLine()!.components(separatedBy: " ").map{ Int($0)! }
var n = input[0], k = input[1]
var arr: [Int] = []
var idx = n-1
var cnt = 0
for i in 0..<n {
    arr.append(Int(readLine()!)!)
}
while k > 0 {
    if k >= arr[idx] {
        cnt += k / arr[idx]
        k = k % arr[idx]
    }
    idx -= 1
}
print(cnt)