백준
[백준] 1978번 : 소수 찾기 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 7. 1. 15:00
728x90
반응형
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
1. 문제 설명
2. 풀이과정
- sys.stdin.readline() 함수를 사용하기 위해 sys 라이브러리를 불러옵니다. import sys
- 전체 소수의 개수를 입력할 값을 입력받는다. N = int(sys.stdin.readline())
- 정수를 한 줄로 입력받아 리스트의 형태로 저장한다. li = list(map(int, sys.stdin.readline().split()))
- 소수의 개수를 저장해 줄 변수를 생성하고 초기화해 준다. count = 0
- 입력받은 정수를 하나씩 호출하며 소수인지 판별한다. for i in li
- 소수를 판별하기 위해 해당 수를 2부터 자기 자신까지 수로 나눠준다. for j in range(2, i + 1)
- 만약 나누려는 수가 자기 자신의 수가 아니고 해당 수가 나눠 떨어지면 if (j != i) and (i % j == 0)
- 소수가 아니므로 해당 수에 대한 반복문을 바로 종료한다. break
- 만약 나누려는 수가 자기 자신이고 해당 수가 나눠 떨어지면 elif (j == i) and (i % j == 0)
- 소수이므로 소수의 개수에 1을 증가시킨다. count += 1
- 최종 소수의 개수를 출력한다. 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
반응형