Computer Science/알고리즘
그리디(탐욕법)
윤재에요
2022. 12. 28. 11:23
정의 및 장단점
그리디 알고리즘은 단순하지만 강력한 문제 해결 방법이다.
현재 상황에서 지금 당장 좋은 것을 고르는 방법을 의미한다.
그리디 문제는 매우 다양한 문제가 있으며 미리 유형을 외우고 있지 않아도 알고리즘 문제를 풀 가능성이 높다.
그렇지만 많은 문제를 풀어보는 연습이 필요하다.
그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 '가장 큰 순서대로', '가장 작은 순서대로'와 같은 기준을 알게 모르게 제시해준다.
구현방법
보통 while문이나 조건문을 통해 구현이 된다.
문제 예시
그리디 문제의 대표적인 예시로 거스름돈 문제가 있다.
예를 들어 3800원을 거슬러줄 때 최소 지폐,동전수를 구하여라 등의 문제이다.
n =1260
count = 0
coin_types = [500,100,50,10]
for coin in coin_types:
count += n //coin #해당 화폐로 거슬러 줄수 있는 동전의 개수 세기
n%=coin
print(count)
참고문헌
이것이 코딩테스트다(나동빈 지음)