
🔗 문제 링크
주어진 수들 중에서 소수가 몇 개인지 찾아내는 문제입니다.
입력으로 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다.
다음줄에 N개의 수가 주어지며, 각각은 1,000 이하의 자연수이다.
이 중에서 소수의 개수를 출력하세요.
🧠 해결 전략
- 소수(Prime Number)는 1과 자기 자신만을 약수로 가지는 수입니다.
- 1은 소수가 아닙니다.
- 각 수에 대해 소수 판별 함수를 만들어 처리하면 됩니다.
def is_prime(num):
if num < 2:
return False
# 2 부터 num의 제곱근까지 검사
for i in range(2, int(num**0.5) + 1):
if num % i == 0:
return False
return True
n = int(input())
nums = list(map(int, input().split()))
count = 0
for num in nums:
if is_prime(num):
count += 1
print(count)