Algo_01. 그리디 알고리즘

이정인·2026년 1월 10일

알고리즘

목록 보기
1/3

📌 Greedy 알고리즘이란

✨ 정의

: 미래를 고려하지 않고 오직 현재 시점에 가장 좋은 선택


📌 Greedy 알고리즘의 특징

✨ 미래의 선택을 고려하지 않고 현재에만 충실한 것이 최적의 해가 될 수 있을까?

: 최적의 해를 항상보장하지는 못 함
: 현재의 최적 해 != 전체의 최적 해

코테 특성 상 항상 최적해 찾아야 하므로 최적해가 보장되는 조건에서만 그리디 알고리즘 사용

✨ 최적해가 보장되는 조건

1) 현재의 선택이 미래의 선택에 영향을 주지 않는다
--> 탐욕스런 선택 조건 (Greedy Choice Property)

  • 예시

2) 부분의 최적 해가 모이면 전체의 최적 해가 된다
--> 최적 부분 구조 조건 (Optimal Substructure)


📌 Greedy 전략

✨ 문제 풀이 핵심은 '정렬'

  • 어떻게 정렬해야 위의 두 가지 조건을 만족할까

✨ 그리디 알고리즘이 사용되는 예시

  • AI에 있어서 결정 트리 학습법 (Decision Tree Learning)
  • 활동 선택 문제 (Activity selection problem)
  • 거스름돈 문제
  • 최소 신장 트리 (Minimum spanning tree)
  • 다익스트라 알고리즘
  • 허프만 코드
  • UNION&FIND 알고리즘

📌 Greedy 사용 이유

  • DP 보다 더 빠름
  • 완전 탐색이 가장 단순 무식하게 정답을 찾는 방식 / 너무 느림
  • 이를 개선하기 위해 다이나믹 프로그래밍이라는 알고리즘 사용 / 항상 최적 해를 보장하기 위해 모든 경우의 수 고려해 느려짐

📌 추천 문제

profile
둉이닝

0개의 댓글