최대 1 분 소요

풀이

소수를 판별해서 개수를 새는 문제이기 때문에 일단 소수 리스트를 먼저 만드는게 효율적이라 판단하였다.

소수리스트를 효율적으로 만드는법은 코드를 보면 알 수 있다

코드

# 1978 소수찾기
n=1000
primes = []

#소수리스트를 만드는부분
arr = [False,False]+[True]*(n+1)
for i in range(2,n+1):
    if arr[i] == True:
        primes.append(i)
        for j in range(2*i,n+1,i):
            arr[j]=False

#
n = int(input())
arr1 = list(map(int,input().split()))
cnt =0
for i in range(len(arr1)):
    if arr1[i] in primes:
        cnt =cnt+1

print(cnt)
    

마무리

소수를 쉽고 빠르게 구할 수 있는 코드다 까먹지 않고 오래 기억하기위해

블로그에 남겨놓자 !!

카테고리:

업데이트:

댓글남기기