개발일기

[JavaScript] 팩토리얼 본문

Algorithm

[JavaScript] 팩토리얼

황대성 2024. 7. 7. 01:25
문제 설명

 

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

i! ≤ n

 

제한사항

 

  • 0 < n ≤ 3,628,800

 

입출력 예

 

n result
3628800 10
7 3

 

풀이
function solution(n) {
    let factorial = 1 ;
    let num = 0 ;
    while(factorial <= n){
        num += 1;
        factorial *= num ;
    }
    return num - 1
}

 

풀이 설명

 

1. factorial 과 num 이라는 변수를 만든다. factorial은 n의 값과 비교될 변수이고, num은 결과값으로 쓰일 변수이다.

2. while문을 사용해서 factorial이 n보다 커진다면 while문을 종료한다.

3. while문 안에서 반복할 때마다 num에 + 1을 해주고, factorial 값에 num의 값을 계속해서 곱해준다.

4. n의 값보다 커진다면 num의 값을 리턴해주는데 커지기 전의 값을 리턴해야 하기 때문에 -1을 해준다.

'Algorithm' 카테고리의 다른 글

[JavaScript] 한 번만 등장한 문자  (0) 2024.07.09
[JavaScript] 가까운 수  (0) 2024.07.09
[JavaScript]모스부호(1)  (0) 2024.07.05
[JavaScript]진료순서 정하기  (0) 2024.07.05
[JavaScript]2차원으로 만들기  (0) 2024.07.03