728x90 {Lecture}/Algorithm5 [알고리즘] 동적 프로그래밍 동적 프로그래밍이란?동적 프로그래밍은 한 마디로 시간을 절약하기 위해 추가 공간을 사용하는 전략이다.분할 정복이랑 자주 비교되는데, 둘의 차이를 먼저 짚고 가자.분할 정복 → 재귀적, 하향식(Top-down), 하위 문제 결과를 저장하지 않음동적 프로그래밍 → 하위 문제의 해를 메모이제이션 또는 테이블화로 저장해서 재사용참고로 재귀/반복은 구현 스타일, 분할 정복/DP는 설계 패러다임, 하향식/상향식은 문제를 푸는 방향이다. 헷갈리지 말 것. 동적 프로그래밍 적용 조건 DP를 쓰려면 다음 두 가지 조건이 모두 만족되어야 한다. 1. 겹치는 하위 문제 (Overlapping Subproblems)문제를 풀다 보면 동일한 하위 문제가 반복적으로 등장해야 한다.✅ 피보나치 수열 → fib(3), fib(4).. 2026. 5. 10. [알고리즘] 파이썬 문법 정리 보호되어 있는 글 입니다. 2026. 4. 6. [알고리즘] 3주차 Algorithm Analysis 2 보호되어 있는 글 입니다. 2026. 4. 4. [알고리즘] 2주차 Algorithm Analysis 1 보호되어 있는 글 입니다. 2026. 4. 2. [알고리즘] 이진탐색 구현 재귀 방식 VS 반복 방식 Binary Search에서의 Recursive vs Iterative 전략 1. 개요알고리즘에서 동일한 문제를 해결하는 방법은 여러 가지가 존재한다. 대표적으로 Fibonacci 수열 구현 방식에서 사용되는 두 가지 전략이 있다.Recursive Strategy (재귀 방식)Iterative Strategy (반복문 방식)이 두 가지 방식은 Binary Search(이진 탐색)에도 동일하게 적용할 수 있다. 2. Binary Search란?Binary Search는 정렬된 배열에서 특정 값을 빠르게 찾는 알고리즘이다.매 단계마다 탐색 범위를 절반으로 줄임시간복잡도: O(log n) 3. Recursive 방식 (재귀) 핵심 아이디어문제를 더 작은 문제로 나눠서 해결함수가 자기 자신을 호출.. 2026. 3. 22. 이전 1 다음 728x90