일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 카카오 자기소개서
- 2228
- 여름인턴십
- 2629
- 가장긴증가하는 부분수열
- 카카오 면접
- 백준11053
- 백준
- 인턴십 면접
- 백준12738
- LIS 알고리즘
- 1670
- 2482
- LIS
- 단어수학
- 카카오 인턴십
- 카카오 인턴
- 구간나누기
- 최장증가수열
- DP
- 파이썬
- 백준12015
- Longest Increasing Subsequence
- 카카오 서류전형
- 기술면접
- 정상회담2
- Python
- 개발자 면접
- 카카오
- 알고리즘
- Today
- Total
목록알고리즘/탐욕 알고리즘 (Greedy) (2)
프로그래밍에 대한 고찰 및 생각

유명한 Greedy 알고리즘 - 회의실 배정 문제 회의실 배정 문제는 그리디 알고리즘에서 빠지지 않고 등장하는 문제이다. 이문제는 각 회의마다 시작시간과 종료시간이 정해져있고 하나의 회의실에 대해 가장 많은 회의를 진행하게 하고 싶을때 그 개수를 구하는 문제이다. 이 문제에서의 최종 목표는 최대한 많은 회의를 진행시키는 것 이다. 여기서 조건은 회의마다 시작시간과 끝나는시간이 정해져있다는 것과, 두 회의간 겹쳐서는 안된다는 점이다. Think1. 가장 짧은 회의들 먼저 진행시키면 되지않을까? 굉장히 Greedy한 접근법이다. 최대한 많은 회의를 진행시키려면 결국 회의시간이 짧은 회의들을 골라서 넣는것이 최적의 해를 만들어 줄것같다. 과연 그럴까? 위와같이 a~g까지 7개의 회의들이 있다고 가정해보자. 여..

탐욕 알고리즘(Greedy Algorithm) 탐욕 알고리즘(이하 그리디)은 어떤 문제를 해결할때 모든 경우의 수를 전부 고려하지 않고 항상 최적이 되는 것만 골라서 진행해나가는 알고리즘을 의미한다. 모든 경우의 수를 전부 고려해서 최적의 해를 계산해내는 dynamic programming과는 다르다. 그렇다면 두가지 의문이 들수있다. 1. 항상 최적의 해만 골라서 탐색하면 지금까지 왜 dynamic programming으로 모든 경우의 수를 분석했나? 왜냐하면 그리디 알고리즘으로 모든 문제를 해결할 수 있는것이 아니기때문이다. 현재 상황에서는 가장 최적의 해라고 생각했지만 이후에 상황에 따라 그때의 선택이 최선의 결과를 만들지 않을수도 있기때문이다. 2. 그렇다면 그리디 알고리즘은 최선일수도 있고 아닐..