[1978.py] 소수 찾기

DoDodo·2023년 3월 2일
0

백준

목록 보기
11/24
post-thumbnail

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

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

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

내 코드

N = int(input())

arr = list(map(int, input().split()))
cnt = 0

for a in arr:
    for j in range(2,a+1):
        if a % j == 0:
            if j == a:
                cnt += 1 
            else:
                break

print(cnt)
  • if문 두 개 안 쓰고 and로 묶으면 틀림 - 끝 숫자 갈 때까지 for문을 쓸데없이 전부 다 돌게 되는 듯?
  1. 일단 나누어 떨어지는 수(약수)를 찾고
  2. 약수가 타겟 숫자와 같으면 cnt += 1, 아니면 다음 for문 돌 필요도 없이 break

0개의 댓글