
😎풀이
n
의 길이를 갖는 배열 생성
- 전제 조건에 맞게 0번째와 1번째는 각 0과 1 할당
- 몫과 나머지에 따라 i번째의 요소에 값을 할당하며 최댓값 확인
3-1. 현재 인덱스가 짝수라면, 2로 나누었을 때의 몫에 해당하는 인덱스의 값을 할당
3-2. 현재 인덱스가 홀수라면, 1의 조건에 그 다음 요소의 값을 더해 할당
- 최댓값 반환
function getMaximumGenerated(n: number): number {
let maxNum = 0
const nums = new Array(n).fill(0)
nums[0] = 0
nums[1] = 1
if(n <= 1) return nums[n]
for(let i = 2; i <= n; i++) {
const quot = Math.floor(i / 2)
const remain = i % 2
nums[i] = nums[quot]
if(remain) nums[i] += nums[quot + 1]
maxNum = Math.max(maxNum, nums[i])
}
return maxNum
};