백준 1978 : 소수 찾기 - 파이썬

낙원·2022년 11월 11일
1

Baekjoon

목록 보기
2/15
post-thumbnail

문제

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

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

해결 방안

  1. N만큼 배열에 입력받는다.
  2. 반복문을 돌면서 나눠지면 소수면 cnt 증가
  3. cnt 출력

코드

n=int(input())
arr=list(map(int,input().split()))

cnt=0

for i in arr:
    flag = 1
    
    if i == 1:          # 1이면 소수 아님
        continue
    
    for j in range(2,i):# 반복문 돌면서 나눠지면 소수 아님
        if i%j==0:
            flag = 0
            break
        
    if flag == 1:
        cnt+=1
        
print(cnt)

이렇게 풀었는데도 수가 작아서 그런지 시간초과 오류가 나지 않았다.
요즘 좀 바빠서 다음에 에라토스테네스의 체 방식으로 풀어봐야겠다 :D
😊😊😊😊😊😊😊😊

0개의 댓글