📘 문제
https://www.acmicpc.net/problem/11047
💡 풀이
💻 코드
private fun main() {
var (n, k) = readln()!!.split(" ").map { it.toInt() }
// 가치의 합을 k로 만들자
// 동전 개수의 최솟값 구하기
// 비싼 동전부터 사용하자
var answer = 0
val arr = IntArray(n)
for (i in 0 until n) {
arr[i] = readln().toInt()
}
for (i in n - 1 downTo 0) {
val coinCount = k / arr[i]
if (coinCount == 0) continue
// k값 갱신
k %= arr[i]
// 필요한 동전 개수 갱신
answer += coinCount
}
println(answer)
}
결과