Problem
i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
- i! ≤ n
Solution
function solution(n) {
let i = 1;
while(true){
let result = 1;
for (let j = i; j > 0; j--){
result *= j
}
if (result <= n){
i++;
} else {
return i - 1;
}
}
}
숫자가 점점 1씩 증가하며 각 팩토리얼 값을 구하고 그 팩토리얼 값이 n보다 작을 때까지 반복한다.
근데..더 편하게 풀 수 있는 방법이 있었다ㅜㅜ...
function solution(n) {
let i = 1;
let f = 1;
while (f*i < n) f*=++i;
return i;
}
'프로그래머스 (JS) > Lv. 0' 카테고리의 다른 글
[Programmers] 120890번 - 가까운 수 (0) | 2023.03.04 |
---|---|
[Programmers] 120842번 - 2차원 배열 (0) | 2023.03.03 |
[Programmers] 120886번 - A로 B 만들기 (0) | 2023.03.03 |
[Programmers] 120838번 - 모스부호(1) (1) | 2023.03.03 |
[Programmers] 120888번 - 중복된 문자 제거 (0) | 2023.03.03 |