< 과제 >
[ 문제 ]
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.[ 입력 ]
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.[ 출력 ]
주어진 수들 중 소수의 개수를 출력한다.[ 예제 입력 1 ]
4
1 3 5 7[ 예제 출력 1 ]
3
< 내 코드 >
N = int(input())
nums = list(map(int, input().split()))
result = []
for i in range(len(nums)):
if nums[i] == 1: # 1은 소수가 아니므로 제외
pass
else:
num = nums[i]
count = 0 # 이번 숫자의 약수 개수
for j in range(2, num): # 소수는 자신을 제외하고 2 이상의 자연수로 나누어 떨어지지 않아야함
if num % j == 0: # 2 이상의 자연수로 나누어 떨어졌다면 약수 개수 +1
count += 1
if count == 0: # 약수 개수가 0개이면 이 수는 소수!
result.append(num)
print(len(result))
< 출처 >