programmers
[Programmers Level 0] 팩토리얼 Javascript
냠냠맨
2022. 11. 25. 13:54
문제정보
처음엔 팩토리얼값을 구하는 문제인줄 알고
팩토리얼 값을 구하는 코드를 짰는데 통과가 안되어서 뭐지..? 했네요
매개변수로 주어지는 정수 n보다 같거나 작은 팩토리얼값을 구하는 문제였어요
예시
n result
3628800 10
7 3
나의풀이
function solution(n) {
let counter = 1
let answer = 0
for(i=1 ; i<=10 ; i++) {
counter = counter * i
if(n >= counter) {
answer = i
}
}
return answer
}
간단하게 구현했습니다.
10!보다 큰 수는 주어지지 않으니까 i를 10까지 반복하고
팩토리얼을 n과 비교해주면서 가장 큰 팩토리얼을 찾고 리턴해줬습니다.
다른사람의 풀이
function solution(n) {
let i = 1;
let f = 1;
while (f*i < n) f*=++i;
return i;
}
while문으로 구현하면 더 깔끔하고
더 큰 수까지도 계산할 수 있겠네요
반응형