본문 바로가기

개발/코딩테스트

[Javascript] 프로그래머스 코딩테스트 입문 팩토리얼

function solution(n) {
  let i = 1;
  let answer = 0;
  let result = 1;

  while (true) {
    result *= i;
    if (result > n) {
      answer = i - 1;
      break;
    }
    i++;
  }
  return answer;
}

let result = factorial(3628800);
console.log(result);

 

if문에 result > n 조건이 되면 이미 넘어버린 i값이 들어오고 break가 걸리므로 i-1값을 최종값으로 return해주었다.