본문 바로가기
알고리즘/백준 - 파이썬

백준) 1978번 소수 찾기 문제 (파이썬)

by AI Sonny 2022. 7. 10.
728x90

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

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

count = 0

for i in data :
  check = 0
  if i == 1 :
    continue
  for j in range(2, i) : # 1은 소수가 아니기 때문에 2부터 반복
    if i % j == 0 : # 나머지가 0이면 소수가 아니기 때문에 check = 1 선언
      check = 1
  
  if check == 0 :
    count += 1

print(count)

일단 처음 n을 입력하고, data를 list로 받아준다. 그리고 count를 0으로 초기화시켜준다.

 

이 후 for 문을 통해 data를 반복하고, check를 0부터 카운트 할 수 있게 0을 선언해준다.

 

그리고  i = 1이면 다음 for문으로 이동한다.

 

다음 if문 i % j가 0아면  check는 1이되게 선언하고, 다음 if문은 check가 0이 나오면 계속 count를 하게 한다.

 

마지막으로 count를 출력하면 소수를 찾을 수 있다.

 

이해가 안되시거나 틀린 정보는 댓글로 알려주시면 감사하겠습니다!

 

 

728x90

댓글