[백준 1978] 소수 찾기 / 파이썬

권한·2025년 12월 24일

BOJ

목록 보기
12/40

흔한 소수 찾기 문제이다. N개의 수 중 소수가 몇개인지 출력한다.

  1. 숫자i를 받아서 2부터 i까지의 수로 나눈다.
  2. 수가 나누어 떨어질 경우 isPrime을 0으로, 나누어 떨어지지 않는다면 isPrime은 처음 설정한 1이 된다.
  3. isPrime이 1일 경우 소수의 개수를 카운팅하는 primes에 +1처리한다.
n = int(input())
primes = 0
for i in list(map(int, input().split())):
    isPrime = 1
    if i == 1:
        continue
    for x in range(2, i):
        if i % x == 0:
            isPrime = 0
            break
    if isPrime:
        primes += 1
print(primes)

받은 숫자의 개수를 primes로 두고 해당 수가 나누어 떨어질 때 마다 primes - 1해주는 방법도 있다.

n = int(input())
nums = list(map(int, input().split()))
primes = len(nums)
for i in nums:
    if i == 1:
        primes -= 1
        continue
    for x in range(2, i):
        if i % x == 0:
            primes -= 1
            break
print(primes)v
profile
티스토리로 옮김

0개의 댓글