그리디 1-1) 거스름돈
코딩테스트

그리디 1-1) 거스름돈

728x90

예제1) 거스름돈

문제 해설 

이 문제의 핵심은 '가장 큰 화폐 단위부터' 돈을 거슬러 주는 방법으로 해결할 수 있다.

#코드 작성
def exch(money):
    change = [500, 100, 50, 10]
    result = []
    for i in change:
        result.append(money // i)
        money = money % i 
    return result
exch(1260)

코드를 보면 화폐의 종류만큼 반복을 수행해야한다. 따라서 종류가 K개라고 할 때 위 소스코드의 시간복잡도는 O(K)이다.

이 알고리즘의 시간 복잡도는 동전의 총 종류에만 영향을 받고, 거슬러 줘야하는 금액의 크기와는 무관하다는 것을 알 수 있다.

728x90

'코딩테스트' 카테고리의 다른 글

그리디 1-4) 1이 될 때까지  (0) 2023.09.21
그리디 1-3) 숫자 카드 게임  (1) 2023.09.21
그리디 1-2) 큰 수의 법칙  (0) 2023.09.21
1주차 - 그리디 이론  (0) 2023.09.21
코딩테스트 스터디  (0) 2023.09.21