이것이 코딩테스트다 Chapter 03
그리디 Greedy 알고리즘이란
- 현재 상황에서 지금 당장 좋은 것만 고르는 방법
- 매 순간 가장 좋아 보이는 것을 선택하고, 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않음
언제, 어떻게 사용할까
- 현재 상황에서 가장 좋아 보이는 것만 선택해도 문제를 풀 수 있을 때(정확한 답이 나온다는 보장이 있을 때)
- 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 제시해주는 기준으로 정렬해주는 경우가 많다
- 주로 정렬 알고리즘과 짝을 이룸!
- 탐욕적으로 문제에 접근했을 때 정확한 답을 찾을 수 있다는 보장이 있을 때는 매우 효과적이고 직관적이다
- 문제 풀이를 위한 아이디어를 떠올리고, 이것이 정당한지 검토할 수 있어야 답을 도출할 수 있다
'Algorithm > 개념' 카테고리의 다른 글
검색 알고리즘 Search Algorithm (2) | 2023.04.26 |
---|---|
알고리즘의 분석 (0) | 2023.04.26 |
[자바, 개념] Map, Set (0) | 2022.09.03 |
[자바, 개념] List, ArrayList, LinkedList (1) | 2022.09.02 |
[자바] 스택, 큐 사용 (0) | 2022.09.02 |