Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- softeer
- programmers
- 자바스크립트
- dfs
- Lv. 3
- Lv. 2
- SQL 고득점 KIT
- 프로그래머스
- Java
- level 3
- Baekjoon
- LEVEL 2
- join
- 동적계획법
- javascript
- SQL
- 소프티어
- 오블완
- Lv. 1
- Dynamic Programming
- 티스토리챌린지
- 파이썬
- bfs
- Python
- 깊이 우선 탐색
- group by
- 백준
- Lv. 0
- DP
- 너비 우선 탐색
Archives
- Today
- Total
몸과 마음이 건전한 SW 개발자
에라토스테네스의 체를 이용해서 소수인지 판별하기 본문
728x90
구현
const eratostenes = (number) => {
if (number <= 1) {
return false
}
for (let num = 2; num <= number ** 0.5; num++) {
if (number % num === 0) {
return false
}
}
return true
}
console.log(eratostenes(11)) // true
console.log(eratostenes(24971)) // true
console.log(eratostenes(249713)) // false
시간복잡도
- O(logN)
특징
- 제곱근을 한 숫자까지 탐색하여 소수를 판별
- 기존의 number 전체를 탐색하는 것이 아니기 때문에 시간복잡도가 O(N)에서 O(logN)으로 줄어든다.
728x90
'알고리즘 > 알고리즘 이론' 카테고리의 다른 글
프로그래머스 [Lv. 1] 최대공약수와 최소공배수 {언어 : Java} (0) | 2024.06.07 |
---|---|
이진수 변환 구현하기 {언어: 자바스크립트} (0) | 2024.05.04 |
최대공약수, 최소공배수, 유클리드 호제법 {언어: 자바스크립트} (0) | 2024.03.28 |
[알고리즘 이론] 거품 정렬, 거품 정렬 개선하기 (0) | 2024.02.29 |
순열, 조합 만들기 (0) | 2024.01.29 |