탐욕 알고리즘 기법
처음에 탐욕 알고리즘은 꽤 공들여서 공부했기 때문에 기억이 새록새록하다 ㅎ.ㅎ
여기까진 재미있었다.
탐욕 알고리즘은 차근차근 local optimum 을 찾아서 global optimum 에 도달하는 것이다. 정말로 이게 끝이다 !
장점은 간단하다는 것이고, 단점은 간단한만큼 탐욕 알고리즘 기법을 통해서는 완전 최적해에 도달하지 못할 가능성이 있다는 것이다.
탐욕알고리즘 기법이라고 한 이유는 (코세라에서 이 부분이 엄청 햇갈렸는데) 탐욕 알고리즘이 하나의 구체적 알고리즘이라고 하기 보다는 탐욕 알고리즘의 원리로 구현된 다양한 알고리즘들이 존재하는 것이기 때문이다.
예를 들어 신청할 수 있는 되도록 많은 수업을 수강신청하고 싶다고 하였을 때
- 가장 빨리 끝나는 과목을 고른다 (local optimum)
-
첫 번째 과목이 끝난 후 시작하는 과목을 고르는 데 그 중 가장 빨리 끝나는 과목을 고른다 (local optimum)
…
이런 식으로 반복하는 것이다.
탐욕 알고리즘 기법이 안 먹히는 문제로는 잔돈 바꾸기 문제가 있었던 것 같은데 잘 기억이 나지 않는다. 그런데 내가 탐욕 알고리즘으로 했을 때 계속 안 됐던 기억은 확실하다.
=> 그러니까 탐욕 알고리즘은 단순하고 쉽지만 경우에 따라서 완벽한 정답을 찾아주지 못할 수도 있다 !
백준 문제 추천
No. | 난이도 | 백준 링크 | 문제 풀이 |
---|---|---|---|
1 | 🌕🌑🌑🌑🌑 | 동전 0 | 문제해설 |
2 | 🌕🌗🌑🌑🌑 | ATM | 문제해설 |
3 | 🌕🌗🌑🌑🌑 | 로프 | 문제해설 |
4 | 🌕🌗🌑🌑🌑 | 강의실 배정 | 문제해설 |
5 | 🌕🌗🌑🌑🌑 | 시험 감독 | 문제해설 |
6 | 🌕🌗🌑🌑🌑 | 신입 사원 | 문제해설-TODO |
7 | 🌕🌗🌑🌑🌑 | 캠핑 문제 | 문제해설-TODO |
8 | 🌕🌗🌑🌑🌑 | 모두의 마블 | 문제해설-TODO |
9 | 🌕🌕🌑🌑🌑 | 회의실 배정 | 문제해설 |
10 | 🌕🌕🌗🌑🌑 | 멀티탭 스케줄링 | 문제해설-TODO |
11 | 🌕🌕🌗🌑🌑 | DNA | 문제해설-TODO |
친절하게 공유해주신 분이 있다.
출처 : 그리디 알고리즘-백준 문제
내일 동전 0, 신입사원, 회의실 배정 이렇게 세 문제를 풀어볼 계획이다.
leetcode, codewars 도 추천받은 사이트인데 고루 이용해야겠다.