
Today I Learn📖
- 백트래킹 (강의)
- 동적계획법 (강의)
: 모든 경우의 수를 탐색하는 알고리즘
가지치기(Pruning)라고 함: 해결한 작은 문제로 큰 문제를 해결하는 문제 풀이 방식 (특정 알고리즘이 아님)
-> 메모리를 많이 사용, 대신 빠른 성능
-> 메모이제이션(Memoization) / 타뷸레이션(Tabulation) 방법 사용 가능
동적 계획법(DP) 문제 접근법
1. 가장 작은 문제를 정의할 수 있는가?
2. 작은 문제를 통해 큰 문제를 해결할 수 있는 규칙이 있는?
위 2가지가 가능하면 동적 계획법 문제임
(동적 계획법 유형은 키워드만으로 파악하기 어려움... 그러니까 문제 유형을 알 수 없다면 DP 의심하기 !)
- 가끔 메모리를 너무 사용해서 통과 못하는 경우 있음
-> 이땐 백트래킹 이용하기
백트래킹이라는 알고리즘 유형에 대해 배웠다. 그래프 문제인데 거기서 조건을 빠르게 쳐내는 유형인듯 ?
DP는 알고리즘이 아니라 문제 풀이법 중 하나라는 걸 알게되었고, 문제 유형이 감이 안 오면 DP를 의심하라는 꿀팁도 배웠다 ㅎㅎ
같이 주신 해당 유형 알고리즘 문제 풀어보면서 직접 익히니까 더 이해가 잘 된당 (ᐢ 'ᵕ' ᐢ )