verdantjuly/코딩테스트
프로그래머스 코딩테스트 입문 : 합성수 찾기 (javascript, 20230727)
verdantjuly
2023. 7. 27. 07:28
728x90
문제 바로가기: https://school.programmers.co.kr/learn/courses/30/lessons/120846
나의 풀이
function solution(n) {
let count = 0
for(i=1;i<=n;i++){
let numbers = []
for(j=1;j<=n;j++){
if(i%j==0){numbers.push(j)}
}
if(numbers.length>2){count = count +1}
}
return count
}
다른 사람의 풀이
function solution(n) {
let dp = new Array(n+1).fill(1)
for(let i = 2 ; i <= n ; i++){
if(dp[i]){
for(let j = 2 ; i*j <= n ; j++){
dp[i*j] = 0
}
}
}
return dp.filter(el => el === 0).length
}
소감
new Array(arraylength)
fill() 메서드는 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채웁니다.
새로운 풀이법 멋지다....