i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를들어 5! = 5 4 3 2 1 = 120 입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해주세요.
function solution(n) {
var facto = 1
for(i=1; i<=n; i++){
var facto = facto * i
if(facto === n) {
return i
} else if (facto > n) {
return i-1
}
}
}
function factorial(n){
if (n <= 1){
return 1;
}
else{
return n*factorial(n-1);
}
}
function solution(n) {
for(let i = 1; i<12; i++){
if (factorial(i) > n){
return i-1;
}
}
}
프로그래머스 함수 2개 만들어도 오류 안나는지 몰라서 for문으로 팩토리얼 구현했지만 팩토리얼 함수쓴 남의 답을 가져와봄. 이 와중에 한 줄로 코드짠 사람들 코드는 신기하다..
ex)
var f=n=>n==1?1:n*f(n-1),i=0,solution=n=>{while(f(++i+1)<=n){};return i;}