일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- union-find
- CPP
- 비트 연산
- Interval
- binary
- Array
- binary search
- Sort
- C++
- 알고리즘
- 깊이 우선 탐색
- 탐욕알고리즘
- Sorting
- 메모이제이션
- dynamic programming
- DFS
- LeetCode
- unordered_map
- 비트 조작
- 이진탐색
- algorithm
- 동적계획법
- graph
- linked list
- Depth-First Search
- bitwise operation
- Greedy
- 배열
- hash table
- bit manipulation
- Today
- Total
목록메모이제이션 (2)
공대생 공부노트(Notes for Engineering Studies)

https://leetcode.com/problems/climbing-stairs/ Climbing Stairs - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com (Climbing Stairs 문제는 위 링크에서 풀어보실 수 있습니다.) Climbing Stairs 문제는 다음과 같다. You are climbing a staircase. It takes n steps to reach the top. Each tim..

동적 계획법(dynamic programming)을 활용해 최적화 문제를 풀어야 하는 경우를 처음 접했을 때는 굉장히 막막하게 느껴졌다. 어떻게 하면 모든 경우를 생각하지 않고 탐색을 할것이며, 재귀는 어떻게, 메모이제이션은 어떻게 적용할 것인지 등등 모든 것을 한 번에 코드로 짜내려고 했기 때문이 아닐까 싶다. 이때 《알고리즘 문제해결 전략》책의 아래 가이드라인이 큰 도움이 되었다. 우선 모든 경우에 대한 완전 탐색을 떠올려 코드를 작성함으로써 문제가 무엇을 묻고 있는지에 혼란스럽지 않고 머릿 속에 문제가 잘 정리되었다는 느낌을 받았기 때문이다. 물론 이 과정에 충분히 능숙해졌다면 완전 탐색을 설계할 필요도 없이 동적계획법을 능수능란하게 다룰 수 있을 것이다. 그 전까지는 아래 과정을 충실히 이행하다보..