자기개발👨‍💻/코딩 알고리즘

[Python] 백준 1978 소수 찾기

천숭이 2021. 6. 20. 01:27

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

 

1978번: 소수 찾기

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

www.acmicpc.net

n=int(input())
str =list(map(int,input().split()))
count=0

if 1 in str:
    str.remove(1)

for i in str:
    tmp=0
    for j in range(2,i+1):
        if i%j==0:
            tmp+=1

    if tmp==1:
        count+=1

print(count)
  • 소수의 특징 : 1과 자신의 수로만 나뉘어져야 하는 수 (1을제외)
  • 따라서 먼저 입력받은 정수리스트에서 1이 있으면 1을 제거해준다.
  • 반복문을 이용해 str리스트를 순회하며 i(자신) 가 j(2~자신) 로 나누어 떨어지면 (i%j==0) tmp++ 진행
  • 내부 반복문을 빠져나온후  tmp값이 1이면  count++ 진행
  • count 값 출력