[백준 11047] 동전 0

Junyoung Park·2022년 4월 20일
0

코딩테스트

목록 보기
383/631
post-thumbnail

1. 문제 설명

동전 0

2. 문제 분석

일반적인 그리디 알고리즘.

3. 나의 풀이

import Foundation

let input = readLine()!.split(separator: " ").map{Int(String($0))!}
var (N, K) = (input[0], input[1])
var coins:[Int] = []
for _ in 0..<N{
    let coin = Int(readLine()!)!
    if coin > K{
        continue
    } else {
        coins.append(coin)
    }
}
coins.sort(by:>)
// 내림차순 정렬
var cnt = 0

while K != 0{
    let coin = coins.removeFirst()
    let q = K/coin
    let r = K%coin
    cnt += q
    K = r
//  현 시점 가장 큰 동전으로 값을 계산할 수 있는 한 계산하자.
}
print(cnt)
profile
JUST DO IT

0개의 댓글