728x90
개념
이 알고리즘은 어떠한 문제가 있을 때 단순하게, greedy하게 문제를 푸는 알고리즘이다. 이는 ‘현재 상황에서 지금 당장 좋은 것만 고르는 방법’을 의미한다. 여타의 알고리즘과 비교할 때, ‘사전에 외우지 않아도 풀 수 있는 가능성이 높은 문제 유형’이라는 특징이 있다.
기준
그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 가장 큰 순서대로, 가장 작은 순서대로와 같은 기준을 제시한다.
TIP
그리디 알고리즘으로 문제의 해법을 찾았을 때는 그 해법이 정당한지 검토해야 한다. 대부분의 그리디 알고리즘 문제에서는 문제 풀이를 위한 최소한의 아이디어를 떠올리고 이것이 정당한지 검토할 수 있어야 한다.
어떤 문제를 만났을 때, 바로 유형을 파악하기 어렵다면 그리디 알고리즘을 의심하고, 문제를 해결할 탐욕적인 해결법이 존재하는지 고민해보자.
관련 문제
11047번: 동전 0
첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)
www.acmicpc.net
TIP
- 이것이 취업을 위한 코딩 테스트다 with python
728x90
'Computer Science > 알고리즘' 카테고리의 다른 글
[Algorithm] 구현 (1) | 2023.11.27 |
---|