🧮
Is Prime
Is Prime - Explanation
쉬움 알고리즘 O(sqrt(n)) O(1)
Problem Summary
Write a function that checks if a number is prime.
Go to Problem →Detailed Explanation
이 문제는 **소수 판별 알고리즘**과 **제곱근 최적화**를 학습합니다. ## 핵심 개념: 소수 (Prime Number) 소수는 1과 자기 자신만을 약수로 가지는 1보다 큰 자연수입니다. ### 접근 방법 ```javascript function isPrime(n) { if (n < 2) return false; for (let i = 2; i <= Math.sqrt(n); i++) { if (n % i === 0) return false; } return true; } ``` ### 제곱근 최적화 n = a * b일 때, a와 b 중 하나는 반드시 √n 이하입니다. - 36 = 2 * 18 = 3 * 12 = 4 * 9 = 6 * 6 - √36 = 6이므로 6까지만 확인하면 됨 ### 시간 복잡도 비교 - 모든 수 확인: O(n) - 제곱근까지: O(√n) ← 훨씬 효율적! ### 특수 케이스 - 1은 소수가 아닙니다 - 2는 유일한 짝수 소수입니다 - 음수는 소수가 아닙니다 소수 판별은 암호학의 기초가 되는 중요한 알고리즘입니다.
Solution Code
solution.js
function isPrime(n) {
if (n < 2) return false;
for (let i = 2; i <= Math.sqrt(n); i++) {
if (n % i === 0) return false;
}
return true;
}Key Concepts from This Problem
1. 소수 판별
2. 제곱근 최적화
3. Math.sqrt
4. 나눗셈 검사
Common Mistakes
✗ 1은 소수가 아닙니다
✗ 2는 확인해야 하는 최소 소수입니다
✗ 제곱근까지만 확인하면 되는 이유를 이해해야 합니다
Hints
Hint 1: 2부터 제곱근까지만 확인하면 됩니다.
Complexity Analysis
Time Complexity
O(sqrt(n))
Space Complexity
O(1)
Uses almost no additional memory
Related Tags
#알고리즘 #소수 #수학