728x90
#1978
n = int(input())
nums = map(int, input().split())
prime_num = 0
for num in nums:
cnt = 0
if num > 1 :
for i in range(2, num):
if num % i == 0:
cnt = 1
if cnt == 0:
prime_num += 1
print(prime_num)
첫째줄에서 수들의 개수 n을 입력받았다. 처음에는 이를 이용하여 for문의 반복 횟수를 정하려 했으나
for num in nums 꼴을 이용하여 굳이 n을 이용하지 않고 nums의 숫자들을 순차적으로 이용하여 더 쉽게 풀어냈다.
cnt는 for문이 시작할때마다 0으로 초기화를 해주고 nums의 모든 숫자들을 2부터 각 숫자까지 (nums가 4, 7, 9라면 4를 2,3,로 7을 2,3,4,5,6로 9를 2,3,4,5,6,7,8로) 나눠주어 그 나머지가 0인경우가 존재하면 cnt를 1로 바꾸어준다.
위 과정을 전부 지나고도 cnt가 여전히 0이면 소수이므로 prime_num에 1을 추가해준다.
prime_num은 초기화하는 값이 아니라 소수의 개수를 새는 변수이다.
728x90
'Sketch (Programming Language) > Python' 카테고리의 다른 글
Baekjoon Training #14425 (1) | 2022.08.06 |
---|---|
Baekjoon Training #2798 (0) | 2022.07.30 |
Baekjoon Training #10870 (0) | 2022.07.29 |
Baekjoon Training #1712/#2675 (0) | 2022.07.21 |
Baekjoon Training #2675/#1157 (0) | 2022.07.20 |