본문 바로가기
백준

[백준] 1978번 : 소수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 1.
728x90
반응형

 

 

1978번: 소수 찾기

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

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. sys.stdin.readline() 함수를 사용하기 위해 sys 라이브러리를 불러옵니다. import sys
  2. 전체 소수의 개수를 입력할 값을 입력받는다. N = int(sys.stdin.readline())
  3. 정수를 한 줄로 입력받아 리스트의 형태로 저장한다. li = list(map(int, sys.stdin.readline().split()))
  4. 소수의 개수를 저장해 줄 변수를 생성하고 초기화해 준다. count = 0
  5. 입력받은 정수를 하나씩 호출하며 소수인지 판별한다. for i in li
  6. 소수를 판별하기 위해 해당 수를 2부터 자기 자신까지 수로 나눠준다. for j in range(2, i + 1)
  7. 만약 나누려는 수가 자기 자신의 수가 아니고 해당 수가 나눠 떨어지면 if (j != i) and (i % j == 0)
  8. 소수가 아니므로 해당 수에 대한 반복문을 바로 종료한다. break
  9. 만약 나누려는 수가 자기 자신이고 해당 수가 나눠 떨어지면 elif (j == i) and (i % j == 0)
  10. 소수이므로 소수의 개수에 1을 증가시킨다. count += 1
  11. 최종 소수의 개수를 출력한다. print(count)
반응형

3. 소스코드

import sys

N = int(sys.stdin.readline())
li = list(map(int, sys.stdin.readline().split()))
    
count = 0
for i in li:
    for j in range(2, i + 1):
        if (j != i) and (i % j == 0):
            break
        elif (j == i) and (i % j == 0):
            count += 1

print(count)
728x90
반응형