dp
-
[Review]다이내믹 프로그래밍 완전 정복(한빛 미디어)Review 2019. 11. 11. 00:20
알고리즘을 풀 때 늘 고민을 많이 하게 되는 문제는 DP, 즉 다이내믹 프로그래밍에 관련된 문제이다. 상향식(bottom-up)과 하양식(top-down) 중에 어떤 식으로 문제를 풀어야 하는지에 대하여 고민을 갖고 있을 때 좋은 기회로 한빛 미디어의 '리뷰어'라는 기회로 해당 책을 읽어보게 되었다. # 목차 [PART 1 재귀 호출의 모든 것] CHAPTER 01 재귀 호출의 이해 CHAPTER 02 재귀 호출의 특징과 메모 전략 [PART 2 드디어 다이내믹 프로그래밍] CHAPTER 03 다이내믹 프로그래밍의 이해 CHAPTER 04 다이내믹 프로그래밍 적용 전략 [PART 3 지금부터 게임을 시작하지] CHAPTER 05 실전 문제 [PART 4 부록은 덤이다] APPENDIX A 알고리즘의 효율..
-
[LeetCode] Climbing StairsAlgo 2019. 5. 6. 23:00
문제 알고리즘 유형중 DP(Dynamic Programming)에 관한 문제이다. DP 관련한 문제를 접근하기 위해서는 메모제이션에 대한 이해가 필요하다. TOP-DOWN 위에서 아래로 접근하는 방식 재귀를 많이 이용한다. Bottom-Up 밑에서 위로 접근하는 방식 for문같은 반복문을 많이 이용. 메모제이션에 관한 이해나 부연 설명들은 아래와 같은 블로그를 참고하면 더욱더 이해하기 쉬울 것이다. * 김로그 * all about coding 피보나치수열처럼 점화식을 이용하면 구할 수 있는 문제였다. class Solution { fun climbStairs(n: Int): Int { val array = IntArray(n+1).let { for (i in 1..n) { when (i) { 1 -> i..