반응형

Algorithm/Greedy 2

[프로그래머스] 큰 수 만들기

문제큰 수 만들기https://school.programmers.co.kr/learn/courses/30/lessons/42883  풀이설명주어진 숫자에서 특정 개수의 수를 제거했을 때, 남은 수들로 만들 수 있는 가장 큰 숫자를 구하는 문제입니다. 앞에서부터 숫자를 한 자리씩 비교하며, 앞자리 숫자가 뒷자리 숫자보다 작은 경우, 앞자리 숫자를 제거합니다.이 과정을 최대 k번만큼 반복하면 됩니다. 예시 코드function solution(number, k) { const stack = []; let drop = k; for (const num of number) { while (drop > 0 && stack.length && stack.at(-1)  숫자 비교 및 제거 알고리즘에 스택을 사용..

Algorithm/Greedy 2025.01.15

그리디 알고리즘 이해하기 - 매 순간 최적의 선택으로 문제 해결하기

들어가며 이번 시간에는 알고리즘 중 하나인 '그리디 알고리즘'에 대해 알아보려고 합니다. 소개 그리디(Greedy) 알고리즘, 또는 탐욕법 알고리즘은 매 순간에서 가장 최적의 선택을 통해 문제를 해결하는 방식입니다. 그리디라는 단어는 '탐욕적인'이라는 의미를 가지고 있죠. 이 알고리즘의 핵심은 각 단계에서 '현재 가장 좋은 선택'을 하는 것입니다. 주요 특징 그리디 알고리즘이 가지는 주요 특징은 다음과 같습니다. 탐욕적 선택 속성 알고리즘이 진행되는 동안, 각 단계에서 최적의 선택을 합니다. 이 선택은 이후의 선택 전략에 영향을 주지 않습니다. 최적 부분 구조 문제 전체에 대한 최적해(global optimum)가 부분 문제에 대해서도 최적해(local optimum)를 포함하고 있습니다. 접근 방법 그..

Algorithm/Greedy 2023.11.13