코드는 Swift로 작성하였습니다.
제가 직접 작성한 코드라 최적의 코드가 아닐 수 있음을 알려드립니다. 🐹
문제는 저작권 관련 문제가 있을 수 있어서 적어두지 않았습니다.
그리디로 푸는 이유 ?
단위가 큰 동전이 작은 동전의 배수이기 때문에
단위가 큰 순서대로 최대치로 개수를 가져오면
동전 최소 개수를 구할 수 있다.
만약 화폐 단위가 500, 400, 100 였다면
이 방법으로 풀 수 없다.
import Foundation
var n: Int = 1260
var count: Int = 0
let array: [Int] = [500,100,50,10]
for coin in array {
count += n / coin
n %= coin
}
print(count)
알고리즘에 swift라니 신선하네요!
swift 공부에 참고하겠습니당!