코딩테스트 대비/BOJ

[Baekjoon/Python] 1978번: 소수 찾기 - 효과는 굉장했다!

bluetag_boy 2021. 10. 26. 15:56
반응형
 

1978번: 소수 찾기

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

www.acmicpc.net

알고리즘 분류

  • 수학
  • 정수론
  • 소수 판정
  • 에라토스테네스의 체

 

SOLUTION

import sys

N = int(sys.stdin.readline())
num_list = list(map(int, sys.stdin.readline().split()))
answer = 0

for num in num_list:
    cnt = 0

    if num == 1: # 1은 소수가 아니므로 패스
        continue

    for i in range(2,num): # 소수 : 약수가 1과 자기 자신 밖에 없는 수
        if num % i == 0:  # num이 i로 나누어진다면 소수가 아니므로 cnt += 1 
            cnt += 1
            
    if cnt == 0: # i로 나누어지지 않았으므로 answer += 1 
        answer += 1 

print(answer)