[프로그래머스/코딩테스트 모음/Javascript] 팩토리얼

TED·2023년 9월 22일
0

Javascript CodingTest

목록 보기
34/63
post-thumbnail

< 오늘의 문제 >

팩토리얼

팩토리얼

function solution(n) {
  let i = 0; // 변수를 0으로 초기화. i는 팩토리얼을 계산할 때 사용할 값
  let factorial = 1; // factorial은 현재까지의 팩토리얼 값을 저장하는 변수

  // 팩토리얼 값이 n을 넘지 않는 최대의 i를 찾는다. **!!넘으면 while문을 빠져나간다!!**
  while (factorial <= n) {
    i++;
    factorial *= i; // factorial에 i를 곱하여 현재까지의 팩토리얼 값을 업데이트
  }
  // i-1을 반환
  // 왜냐하면 i가 팩토리얼 값이 n을 넘어가는 순간이기 때문에, 최대 팩토리얼 값인 i - 1을 반환 ㅇㅋ?
  return i - 1;
}
  • 나의 풀이
    : 이 문제는 다음 조건을 만족하는 가장 큰 정수 i를 찾는 문제 i! ≤ n
    주석에 풀이를 전부 적어뒀다. 더 간단하게 푼 풀이를 찾아봤지만 내 뇌로는 이해불가능한 풀이 투성이라 가져오지않았다 ^^..
    재귀함수를 이용한 풀이가 많던데 휴...절레절레 어려웡
profile
컴맹 개발 입문자

0개의 댓글