진박사의 일상

[이코테] Greedy 문제 - 4. 만들 수 없는 금액 본문

프로그래밍/코딩테스트 공부

[이코테] Greedy 문제 - 4. 만들 수 없는 금액

진박사. 2021. 9. 5. 20:41

문제 : N개의 각기 다른 단위의 동전들(중복 가능)로 만들 수 없는 최소의 금액을 찾으시오

 

n = int(input())
data = list(map(int, input().split()))
data.sort()
data = data[::-1]
result = 1
while True:
    if result in data:
        result += 1
        continue
    else:
        tmp = result
        for i in range(len(data)):
            tmp -= data[i]
            #print(tmp)
            if tmp == 0:
                break
            elif tmp < 0:
                tmp += data[i]
        #print(result, tmp)
        if tmp != 0:
            break
    result += 1

print(result)

오케이