개발자 '쑥말고인절미'
[프로그래머스] JS 소수 찾기 본문
문제

내 답안
function solution(n) {
var answer = 0;
let arr = Array(n+1).fill(true).fill(false, 0, 2);
for(let i = 2; i*i <=n; i++) {
if(arr[i]){
for(let j = i*i; j<=n; j+=i) {
arr[j] = false;
}
}
}
answer = arr.filter(element => true ===element).length;
return answer;
}
메모
어떻게 해야 소수찾기를 할 수 있을까 고민고민해봤지만 답이 나오지 않았고 결국 알고리즘을 찾아보고 알 수 있었다. '에라토스테네스의 체' 라는 알고리즘으로 소수 찾기를 해결할 수 있었는데 아래 참고링크 중 첫 번째 링크를 통해서 이해할 수 있었다. 흠... 현재 실력으로 혼자 소스를 짜라고 했으면 진짜 끝까지 못했을거 같기도 하다. 내 소스는 사실 참고링크 소스와 동일하다만 이해하고 기억한대로 혼자 작성해보았다. 에라토스테네스의 체... 잊지않겠다 후
fill메소드와 filter메소드는 여러 번 본 적이 있고 사용한 적도 있는데 제대로 기억을 못하고 있다. 블로그에 기록하면서 암기해놔야겠다.
참고링크
https://mine-it-record.tistory.com/507
[알고리즘] 소수 찾기 - 에라토스테네스의 체 by javascript
소수를 찾는 수많은 방법중에서 가장 많이 사용된다는 "에라토스테네스의 체" 라는 소수 찾기 알고리즘에 대해 알아보자. 우선 소수란 무엇일까? 소수란 간단하게 1과 그 수 자신 이외의 자연수
mine-it-record.tistory.com
https://hianna.tistory.com/488
[Javascript] 배열에서 특정 값 개수 구하기
배열에서 특정 값 개수를 구하는 방법을 정리하였습니다. 1. for 반복문 2. filter 3. reduce for 반복문 const arr = ['a', 'b', 'c', 'a']; // 배열에서 'a' 개수 구하기 let count = 0; for(let i=0; i < arr.l..
hianna.tistory.com
'STUDY > 코딩테스트' 카테고리의 다른 글
| [프로그래머스] JS 나누어 떨어지는 숫자 배열 (0) | 2022.09.05 |
|---|---|
| [프로그래머스] JS 두 정수 사이의 합 (0) | 2022.09.05 |
| [프로그래머스] JS 문자열 내 p와 y의 개수 (0) | 2022.08.30 |
| [프로그래머스] JS 문자열 내림차순으로 배치하기 (0) | 2022.08.30 |
| [프로그래머스] JS 문자열 다루기 기본 (0) | 2022.08.30 |