Algorithm-Problems/백준

[백준][1978] 소수찾기

프리랜서를꿈꾸는자 2022. 5. 8. 16:30
728x90
import sys

candidate_count = int(sys.stdin.readline())

def is_prime(n):
    if n == 1:
        return False
    if n <= 3:
        return True
    if n % 2 == 0 or n % 3 == 0:
        return False
    i = 5
    while i * i <= n:
        if n % i == 0 or n % (i + 2) == 0:
            return False
        else:
            i += 6
    return True

candidates = [int(x) for x in sys.stdin.readline().split()]
prime_count = 0
for candidate in candidates:
    if is_prime(candidate):
        prime_count += 1
print(prime_count)
  • 포인트
    • while 문 안에 소수찾는 로직이 중요
      • 제곱이 n보다 작은 자연수이면서 6으로 나눴을 때 나머지가 1, 5인 것만 확인
728x90