백준의 동전 0 문제가 대표적인 그리디 문제다.
[분할 가능 냅색 알고리즘]이 여기에 해당한다.
def solution(n, lost, reserve):
answer = -1
clothes = [1]*(n+1)
for l in lost:
clothes[l] -= 1
for r in reserve:
clothes[r] += 1
for i in range(1,n+1):
if clothes[i] == 2:
if 1<=i-1 and clothes[i-1] == 0:
clothes[i-1] += 1
clothes[i] -= 1
elif i+1<=n and clothes[i+1] == 0:
clothes[i+1] += 1
clothes[i] -= 1
else:
continue
for c in clothes:
if c:
answer += 1
return answer