Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- Autolayout
- Union-Find
- ai expo
- Content Compression Resistance priority
- AI
- 자료구조
- 동시성프로그래밍
- gitlabci/cd
- 클린아키텍처
- 알고리즘
- RxSwift요약
- IOS
- swift
- OperationQueue
- CI/CD
- Content Hugging priority
- cleanarchitecture
- 애플인텔리전스
- ReactiveX
- CICD
- RxCocoa
- swift알고리즘
- rxswift
- LLM
- 동작과정
- gitlab
- 오토레이아웃
- mvvm
- apple intelligence
- 백준
Archives
- Today
- Total
JosephCha의 개발일지
동적 계획법(DP) 본문
정의
- 입력 크기가 작은 부분 문제들을 해결한 후, 해당 부분의 답을 이용해, 전체 크기의 문제를 해결하는 알고리즘
- 상향식 접근법
- Memoization 기법: 프로그램 실행 시, 이전에 계산한 값을 저장하여, 다시 계산하지 않도록 하여 전체 실행 속도를 빠르게 하는 기술
피보나치 수열
피보나치 수열 문제
- 재귀함수 활용
// recursive
func fibo(_ num: Int) -> Int {
if num <= 1 {
return num
}
return fibo(num - 1) + fibo(num - 2)
}
- 동적 계획법 활용
// 동적 계획법
func fiboDP(num: Int) -> Int {
var caches = [Int].init(repeating: 0, count: num + 1)
caches[0] = 0
caches[1] = 1
for index in 2...num {
caches[index] = caches[index-1] + caches[index - 2]
}
return caches[num]
}
출처 : 패스트 캠퍼스 알고리즘 / 기술면접 완전 정복 올인원 패키지 Online.
Comments