본문 바로가기

알고리즘

[백준] 1978번 :소수 찾기 - Python 파이썬

[백준] 1978번 :소수 찾기 - Python 파이썬

 

알고리즘 분류:

 

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

 


문제

주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.

입력

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

출력

주어진 수들 중 소수의 개수를 출력한다.

 

 


제출한 답

T = int(input())
arr = list(map(int,input().split()))
count = 0
for n in arr:
if n != 1: #1은 소수가 될 수 없음
#n의 제곱근까지만 루프를 돌려줌
for i in range(2,int(n**0.5) + 1):
if n % i == 0:
break
else: #for-else문
count += 1
print(count)

if-else 뿐 아니라 for-else문도 있는데

for문이 break가 걸리지 않고 끝났을 때에만

else문을 실행하게 된다.

while-else 문도 가능.