Idealim
article thumbnail
Published 2021. 10. 21. 14:41
[Algorithm] 그리디 알고리즘 CS/Algorithm

/* 본 게시물은 ' 이것이 코딩 테스트다 with Python | 나동빈 ' 의 내용과 참고자료를 토대로 작성되었습니다. */

/* 본 글은 개인적으로 공부한 내용을 정리한 글이므로 오류가 있을 수 있습니다. */


# 그리디 알고리즘

그리디 알고리즘은 '현재 상황에서 지금 당장 좋은 것만 고르는 방법'을 의미한다. 

코딩 테스트에서 만나게 될 그리디 알고리즘의 문제 유형은 '사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형' 이라는 특징이 있다. 

그리디 알고리즘은 기준에 따라 좋은 것을 선택하는 알고리즘이므로 문제에서 '가장 큰 순서대로', '가장 작은 순서대로'와 같은 기준을 제시해준다. 대체로 이 기준은 정렬 알고리즘을 사용했을 때 만족 시킬 수 있으므로 그리디 알고리즘 문제는 자주 정렬 알고리즘과 짝을 이루어 출시된다. 

따라서 각 언어별로 지원하는 정렬 메서드 사용법을 숙지하고 문제를 풀어보길 바란다.


백준에서 제공하는 대표적인 그리디 알고리즘 문제이다. 

위에서 제공하는 문제들을 풀다보면 그리디 알고리즘에 대해 감을 잡을 수 있을 것이다. 그리디 알고리즘에서 중요한 것은 문제 풀이를 위한 아이디어를 떠올리고 그것이 타당한지 생각하는 능력이다. 

 

반응형
profile

Idealim

@Idealim

읽어주셔서 감사합니다. 잘못된 내용이 있으면 언제든 댓글로 피드백 부탁드립니다.