[Python] BOJ 1978번. 소수 찾기

1978번. 소수 찾기

문제 링크

풀이 코드

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
# 1978번. 소수 찾기

n = int(input())
nList = list(map(int, input().split()))

m = 1000

# 소수 리스트 만들기
def p(m):
    pList = [True]*m

    k = int(m**0.5)
    for i in range(2, k):
        if pList[i]:
            for j in range(i+i, m, i):
                pList[j] = False
    return [i for i in range(2, m) if pList[i]]


answer = 0
pList = p(m)
for num in nList:
    if num in pList:
        answer += 1
print(answer)

비고