jae_coding

(백준 알고리즘 문제풀이) 1978번 소수찾기 본문

알고리즘 문제/백준

(백준 알고리즘 문제풀이) 1978번 소수찾기

재코딩 2022. 7. 26. 16:03
반응형

문제

문제 링크

 

문제 접근

  • 숫자가 1보다 작거나 같으면 소수가 아니다.
  • 2로 나누어 떨어진다면 소수가 아니다. (2일 경우는 제외)
  • 3이상일 경우에 루트를 씌운 값보다 작을 경우 나누어서 0 일 경우에는 소수가 아니다.
  • 나머지 경우에는 소수가 된다.
  • 리스트에서 소수인 경우의 수를 합하면 결과값이 도출된다.

코드

import sys
input = sys.stdin.readline


def is_prime_number(number):
    if number <= 1:
        return False

    if number % 2 == 0:
        if number == 2:
            return True
        return False

    for i in range(3, int(pow(number, 0.5)) + 1, 2):
        if number % i == 0:
            return False
    return True


n = int(input())
lst = list(map(int, input().split()))
result = 0
for i in lst:
    if is_prime_number(i):
        result += 1

print(result)
반응형
Comments