Lv.0 - 팩토리얼_01.01

송철진·2023년 1월 1일
0

문제 설명

i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 4 3 2 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.

i! ≤ n

제한사항
0 < n ≤ 3,628,800

입출력 예

nresult
362880010
73

나의 코드

function solution(n) {
    let i = 1;
    let j = 2;
    while(true){
        if(i*j > n) return j-1;
        i = i*j;
        j++;
    }
}

풀이

i는 팩토리얼을 계산한 결과값이며 초기값은 1로 설정한다
j는 팩토리얼의 가장 큰 수이다

순회 1회차:

  • 1*2 > n 이면 2-1 = 1을 반환한다
  • 아니면 i = 1*2, j = 3이다

순회2회차:

  • 2*3 > n 이면 3-1 = 2를 반환한다
  • 아니면 i = 2*3 = 6, j = 4이다

순회3회차:

  • 4*4 > n 이면 4-1 = 3을 반환한다
  • 아니면 i = 3*4 = 12, j = 5이다

...

profile
검색하고 기록하며 학습하는 백엔드 개발자

0개의 댓글