React

2193 이친수

N이 90으로 주어지면 자릿수가 초과되어서 BigInt 자료형으로 감싸서 값을 할당해야 통과한다. BigInt는 끝에 n이 붙기 때문에 toString()을 사용해서 출력한다.
N이 90까지 가능하다. Number 타입의 2^53 - 1 = 보다 큰 값(16자리) 넘어가는 게 예상될 때 BigInt를 쓴다.

Code

const solution = function (i) { const N = i.toString().trim() * 1; const DP = Array(N + 1).fill(1); DP[0] = 1; DP[1] = 1; for (let i = 2; i <= N; i++) { DP[i] = BigInt(DP[i - 2]) + BigInt(DP[i - 1]); } console.log(DP[N - 1].toString()); return DP[N - 1].toString(); }; describe('이친수', () => { it('TC1', () => { expect(solution(`3`)).toStrictEqual('2'); }); });
TypeScript
복사