백준|1978번|소수 찾기

README·2022년 7월 31일
0

파이썬 PS풀이

목록 보기
22/136

문제설명
숫자들을 입력받아서 그 숫자들 중 소수가 몇개 있는지 출력하는 문제입니다.

작동 순서
1. 입력받을 숫자의 개수를 입력받습니다.
2. 소수인지 판별할 숫자들을 입력받습니다.
3. 입력받은 숫자들을 1부터 자기자신까지 나누어보며 약수를 찾습니다.
4. 약수를 찾거나 자기 자신과 나누는 수가 같아지면 반복문이 종료되고 나누는 수가 자기자신과 같으면 소수로 판단하고 소수 배열에 추가합니다.
5. 소수배열의 길이를 출력합니다.

소스코드

import sys
n = int(sys.stdin.readline())
num = list(map(int, sys.stdin.readline().split()))
prime = []
for i in range(n):
    if num[i] == 1:
        continue
    now = 1
    while now < num[i]:
        now += 1
        if num[i] % now == 0:
            break
    if now == num[i]:
        prime.append(num[i])
print(len(prime))

후기
그리 복잡하지 않은 문제였고 소수를 판별하는 방법만 알면 쉽게 풀 수 있는 문제였던것 같습니다.

profile
INTP 개발자 지망생

0개의 댓글