728x90
반응형
소수 관련 문제는 아리토스테네스의 체 방식을 사용하면 효율적으로 풀 수 있다.
종종 보게 될 알고리즘이니 기억해두면 좋을 것 같다.
n = int(input())
li = list(map(int, input().split()))
t_li = [1]*(max(li)+1)
for i in range(2, max(li)//2 + 1):
if t_li[i] == 1:
for j in range(i+i, max(li)+1, i):
t_li[j] = 0
prime = []
for i in range(2, len(t_li)):
if t_li[i] == 1:
prime.append(i)
cnt = 0
for n in li:
if n in prime:
cnt += 1
print(cnt)
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 2010번 플러그(python) (0) | 2020.02.04 |
---|---|
백준 알고리즘 2004번 조합 0의 개수(python) (0) | 2020.02.04 |
백준 알고리즘 1977번 완전제곱수(python) (0) | 2020.02.04 |
백준 알고리즘 1964번 오각형, 오각형, 오각형…(python) (0) | 2020.02.04 |
백준 알고리즘 1051번 숫자 정사각형(python) (0) | 2020.02.04 |