728x90
문제 및 제한사항
i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 * 4 * 3 * 2 * 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요. (i! ≤ n)
**제한사항**
0 < n ≤ 3,628,800
풀이 방법
예를 들어 n = 7일 경우, 3!(1*2*3) <= 7 이므로 결과값은 3이 된다.
for문으로 계속 곱해주었을 때, 그 곱한 값이 n과 같으면 마지막으로 곱한 값을 출력하고, 크다면 하나를 빼준다.
어떻게 풀어야 할지 고민했는데 쉽게 생각하면 되는 문제였다.
코드
function solution(n) {
let fac = 1;
for (let i = 1; i <= n; i++) {
fac *= i;
if (fac === n) {
return i;
} if (fac > n) {
return i-1;
}
}
}
728x90
'⚙️ 코딩테스트' 카테고리의 다른 글
[JavaScript] 프로그래머스 코딩테스트 입문 : 가까운 수 (0) | 2023.03.28 |
---|---|
[JavaScript] 프로그래머스 코딩테스트 입문 : 2차원으로 만들기 (0) | 2023.03.28 |
[JavaScript] 프로그래머스 코딩테스트 입문 : A로 B 만들기 (0) | 2023.03.28 |
[JavaScript] 프로그래머스 코딩테스트 입문 : 모스부호 (1) (0) | 2023.03.28 |
[JavaScript] 프로그래머스 코딩테스트 입문 : 중복된 문자 제거 (0) | 2023.03.28 |