본문 바로가기
Sketch (Programming Language)/Python

Baekjoon Training #1978

by 생각하는 이상훈 2022. 7. 24.
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