[1978] 백준 문제풀이 - 소수 찾기

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

문제

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

입력

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

출력

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

풀이

isPrimeNumber라는 함수에서 소수를 판별해주고, 리스트 arr의 원소 iisPrimeNumber(i) == True일 때 resume의 결과값에 1을 추가해주고 그 resume을 출력해주면 정답처리.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
N = int(input())
arr = list(map(int, input().split(" ")))

resume = 0

def isPrimeNumber(x):
    for i in range(2, x):
        if x % i == 0:
            return False  # 소수 아님
    return True

for i in arr:
    if i == 1:
        continue
    if isPrimeNumber(i) == True:
        resume += 1

print(resume)

댓글남기기