Greedy Algorithm

Problem Solving/BOJ 백준

[BOJ] C++ 그리디 알고리즘 문제풀이 (1)

🧨 백준 11047번 문제 출처 : 백준 11047번 문제 난이도 : 실버1 문제 링크 : www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 🧨 알고리즘 선택 및 C++ 코드 동전문제야말로 대표적인 그리디 알고리즘이다. 가장 큰 동전단위부터 내림차순으로 내가 원하는 금액 K를 채워나가면 된다. 마치 stable sorting과 비슷한 느낌이랄까.. (x, y 순으로 정렬하려면 y먼저 정렬하고 x ..

Problem Solving/Algorithm, DS

[알고리즘] Greedy Algorithm (탐욕알고리즘, 백준 문제모음)

📌 탐욕적 알고리즘 Greedy Algorithm 탐욕적 알고리즘(Greedy Algorithm)은 동적 프로그래밍(Dynamic Programming) 얘기를 빼놓고서는 할 수 없다. 동적 프로그래밍은 나중에 또 하겠지만 간단히 설명하자면 전체 문제를 여러 개의 하위 문제로 나누어 풀고, 하위 문제들의 해결방법을 결합해 최종 문제를 해결하는 방법이다. 즉, 동적프로그래밍은 사실상 문제를 해결하는 모든 방법을 탐색하므로 정확하지만 속도가 느릴 수 밖에 없다. 동적 프로그래밍의 느린 속도를 보완하고자 등장한 개념이 탐욕적 알고리즘이다. 탐욕적(Greedy), 말 그대로 현재 상황에서 당장 좋은 것만을 고르는 방법이다. 그 순간에 최적이라고 생각하는 결정을 한다. (미래를 전혀 고려하지 않음) 덕분에 그리디..

blackon29
'Greedy Algorithm' 태그의 글 목록