Algorithm

백준: 소수 찾기

Hoonco 2023. 1. 15. 20:16

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

 

1978번: 소수 찾기

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

www.acmicpc.net

소수 구하기랑은 다른 문제로

이력 받은 수들 중 소수가 몇개인지 확인해야한다.

 

풀이

n = int(input()) # 입력받을 숫자의 개수
nums = list(map(int, input().split(' '))) # 공백으로 숫자 구분. ex) 1 3 5 7
primeCount = 0 # 소수의 개수

for i in nums:
    cnt = 0
    if i == 1: # 1은 소수가 아니기 때문에 건너띔
        continue
    for j in range(2, i+1):
        if i % j == 0:
            cnt += 1
    if cnt == 1:
        primeCount += 1
print(primeCount)

1은 건너뛰어주고

2부터 i까지의 범위를 순회하면서

i와 나누어 떨어지는 횟수를 카운팅한다.

이후 만약 나누어 떨어진 횟수가 한번이라면

해당 수는 소수이기 때문에 소수의 갯수를 증가 시킨다.