백준 1978번: 소수 찾기

문제

https://www.acmicpc.net/problem/1978


접근

프로그래머스 Lv1 의 소수찾기에서는 N번째 수 까지의 모든 소수를 에라토스테네스의 체를 이용해서 찾았지만 이 문제는 소수인지 아닌지만 판별하는 문제로, 배열에 1이 아닌 다른 값이 들어가면 곧장 반복문을 멈추는 식으로 접근하였다. 이 때, 반복문은 루트 값까지만 반복한다.


코드

📌 python

import sys
input = sys.stdin.readline

n = int(input())

numbers = list(map(int, input().split()))

sum = 0

for number in numbers :
    if(number > 1) :
        sosu = []
        i=1
        while(i <= number**0.5) :
            if(number % i == 0) :
                sosu.append(i)
            if(len(sosu) > 1) :
                break
            i+=1
        if(len(sosu) == 1) :
            sum += 1
    
print(sum)

좋은 웹페이지 즐겨찾기