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() 메서드는 배열의 시작 인덱스부터 끝 인덱스의 이전까지 정적인 값 하나로 채웁니다.
새로운 풀이법 멋지다....
'verdantjuly > 코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트 입문: A로 B 만들기 (javascript, 20230730) (0) | 2023.07.30 |
---|---|
프로그래머스 코딩테스트 입문 : 팩토리얼 (javascript, 20230728) (0) | 2023.07.28 |
프로그래머스 코딩테스트 입문 : 중복된 문자 제거 (javascript, 20230726) (0) | 2023.07.26 |
프로그래머스 코딩 테스트 입문 : 문자열 정렬하기(javascript, 20230725) (0) | 2023.07.25 |
프로그래머스 코딩테스트 입문 : OX퀴즈 (javascript, 20230720) (0) | 2023.07.20 |