본문 바로가기

dynamic programming3

[Python문제풀이-Dynamic Programming] 정수삼각형 2025.03.15 - [프로그래밍/Python 관련 정보] - [Python] Table of Contentshttps://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제를 보자마자 DP를 생각했다가, 멈칫하게 되는 문제였습니다. 제가 지난 포스팅에서 정리했듯이 Dynamic Programming을 쓰는 상황이라는 것은 "작은 문제에서 정답은 큰 문제에서도 정답"이 되어야 합니다. 그런데, 저는 \(a_{n}\) (그러니까 수열의 항)을 행에서의 최대값으로 두고 풀어보려고 했는데(아래 그림1의 왼쪽.. 2025. 4. 6.
[Algorithm] Dynamic Programming vs. Greedy Algorithm 동적계획법(Dynamic Programming)은 지난 포스팅에서 살펴봤습니다.2025.02.19 - [프로그래밍/Python 관련 정보] - [Algorithm] Dynamic Programming vs. Recursion [Algorithm] Dynamic Programming vs. Recursion동적계획법(Dynamic programming)은 재귀구조(Recursion)와 비교해서 살펴봐야하는 방법론인데요, 사실 두 용어가 무 자르듯 딱 상호베타적으로 구분되는 것은 아닌데 좁은 의미로 사용될 때 두 가지가trillionver2.tistory.com이번에는 동적계획법과 탐욕(Greedy) 알고리즘을 비교해보겠습니다.  탐욕(Greedy) Algorithm : 순간순간 마다의 최선의 결정하는 방식.. 2025. 2. 20.
[Algorithm] Dynamic Programming vs. Recursion 동적계획법(Dynamic programming)은 재귀구조(Recursion)와 비교해서 살펴봐야하는 방법론인데요, 사실 두 용어가 무 자르듯 딱 상호베타적으로 구분되는 것은 아닌데 좁은 의미로 사용될 때 두 가지가 어떤 차이가 있는지 살펴보겠습니다. 두 방법론 모두 부분문제의 해결책을 전체 문제의 해결책으로 활용한다는 점에서는 공통점이 있습니다. 하지만 재귀구조는 주로 Top-Down 방식으로 (특히 함수를 재귀적으로 호출하는 방식으로) 적용하는 반면 동적계획법은 Bottom-up 방식을 사용하거나 Top-Down + Memoization 결합방식을 차용합니다. 재귀구조는 같은 작업을 여러번 반복하게 될 가능성이 있어서 깊은 재귀구조에서는 stack-overflow에러가 발생할 위험이 있습니다.  피보.. 2025. 2. 19.