-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
41 additions
and
10 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
'use strict'; | ||
|
||
function solution(n) { | ||
let answer = 0; | ||
let dy = Array.from({length: n+1}, () => 0); | ||
dy[1] = 1; | ||
dy[2] = 2; | ||
for(let i = 3; i <= n; i++) { | ||
dy[i] = dy[i-2] + dy[i-1]; | ||
} | ||
answer = dy[n]; | ||
return answer; | ||
} | ||
|
||
console.log(solution(7)); | ||
|
||
/* | ||
- 우선 dy 배열 선언하기 (n+1의 길이, 0으로 모두 초기화) | ||
- dy[n]에는 n번째 계단까지 가는 방법의 수 | ||
- 1: 1개(1) | ||
- 2: 2개(1+1, 2) | ||
- 3: 3개(1+1+1, 1+2, 2+1), 1번 계단에서 오는 경우의 수(1개)와 2번 계단에서 오는 경우의 수(2개)의 합 | ||
- 4: 5개(1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2), 2번 계단에서 오는 경우의 수(2개)와 3번 계단에서 오는 경우의 수(3개)의 합 | ||
*/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,11 +1,11 @@ | ||
# List | ||
|번호|정답여부|풀이|개념| | ||
|:---:|:---:|:---:|:---:| | ||
|1|||| | ||
|2|||| | ||
|3|||| | ||
|4|||| | ||
|5|||| | ||
| | ||
# Memoization | ||
> [JavaScript dynamic_programming](../../../theory/dynamic_programming.md) | ||
# 정리 | ||
# List | ||
|번호|정답여부|재응시| | ||
|:---:|:---:|:---:| | ||
|1|X|다시 풀기| | ||
|2||| | ||
|3||| | ||
|4||| | ||
|5||| |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
# dynamic_programming (동적 계획법) | ||
- 동적 계획법이란 큰 문제를 작은 단위로 쪼개어 푸는 방법 | ||
- 작은 단위의 문제를 풀어 답을 저장해놓은 후, 이를 이용해 점차 그 (데이터)범위를 넓혀나가면서 답을 구하는 방법 | ||
- 이러한 것을 '점화식'이라고 함 (dy[n] === dy[n-1] + 3 ...) | ||
- 점화식의 관계를 아는게 포인트 (관계식을 잡아내는 게 핵심) | ||
- 동적 계획법은 dy라는 배열이 반드시 필요 |