본문 바로가기

그리디 알고리즘2

[알고리즘] 탐욕 알고리즘 (Greedy Algorithm) 탐욕 알고리즘 (Greedy Algorithm) 이란? 그리디 알고리즘은 말 그대로 선택의 순간마다 당장 눈 앞에 보이는 최적의 상황 만을 쫓아 최종적인 해답에 도달하는 방법입니다. 따라서 가장 직관적인 알고리즘 설계 패러다임 중 하나라고 볼 수 있습니다. 여러 경우 중 하나를 결정할 때마다 그 순간에 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달합니다. 그리디는 현재도 최적이면서 최종적으로도 최적인 문제들입니다. 따라서 현재 상황에서 최적인 해를 찾으면 됩니다. 탐욕 알고리즘 문제를 해결하는 방법 1. 선택 절차 (Selection Procedure): 현재 상태에서의 최적의 해답을 선택한다. 2. 적절성 검사 (Feasibility Check): 선택된 해가 문제의 조.. 2022. 9. 27.
백준/ BOJ / 1339 / 단어 수학 문제 민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다. 단어 수학 문제는 N개의 단어로 이루어져 있으며, 각 단어는 알파벳 대문자로만 이루어져 있다. 이때, 각 알파벳 대문자를 0부터 9까지의 숫자 중 하나로 바꿔서 N개의 수를 합하는 문제이다. 같은 알파벳은 같은 숫자로 바꿔야 하며, 두 개 이상의 알파벳이 같은 숫자로 바뀌어지면 안 된다. 예를 들어, GCF + ACDEB를 계산한다고 할 때, A = 9, B = 4, C = 8, D = 6, E = 5, F = 3, G = 7로 결정한다면, 두 수의 합은 99437이 되어서 최대가 될 것이다. N개의 단어가 주어졌을 때, 그 수의 합을 최대로 만드는 프로그램을 작성하시오. 입력 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. .. 2021. 11. 3.