728x90
https://www.acmicpc.net/problem/1978
1978번: 소수 찾기
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
www.acmicpc.net
문제
주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
입력
첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.
출력
주어진 수들 중 소수의 개수를 출력한다.
코드 정답
n = int(input())
num = map(int, input().split())
count = 0
for i in num:
error = 0
if i > 1:
for j in range(2, i):
if i % j == 0:
error += 1
if error == 0:
count += 1
print(count)
풀이
- 1행 : 숫자의 개수 n 을 입력을 받고 정수형으로 변환한다.
- 2행 : 숫자 n개의 숫자들을 공백으로 구분한 하나의 문자열로 입력을 받은 후 정수형으로 변환한다.
- 3행 : 소수인 수일 때마다 늘어날 count 란 변수에 0값을 선언한다.
- 5행 : num 변수에 있는 숫자들을 하나씩 i 변수에 선언한다.
- 6행 : error 란 변수에 0 값을 넣어주며 선언한다.
- 7행 : i 의 값이 1보다 클 경우에 8행 ~ 12행이 실행된다. 왜냐하면 소수란 2부터 시작되기 때문이다.
- 8행 : 2부터 i-1 의 값들을 하나씩 j 에 선언한다. 만약 i의 값이 2일 경우에는 for문이 작동하지 않아 바로 11행으로 넘어가진다.
- 9행 : i 의 값을 j 로 나눈 값의 나머지가 0일 경우 10행을 실행한다.
- 10행 : error 값에 1을 더해준다.
- 11행 : 만약 error 값이 0 이라면 12행을 실행한다.
- 12행 : count 값에 1을 더해준다.
- 14행 : count 에 저장된 값을 출력한다.
728x90
'BaekJoon > 단계별로 풀어보기' 카테고리의 다른 글
[백준] 기본 수학 2 - 11653번 (Python) (0) | 2023.01.02 |
---|---|
[백준] 기본 수학 2 - 2581번 (Python) (0) | 2023.01.02 |
[백준] 기본 수학 1 - 10757번 (Python) (0) | 2022.12.01 |
[백준] 기본 수학 1 - 2839번 (Python) (0) | 2022.12.01 |
[백준] 기본 수학 1 - 2775번 (Python) (0) | 2022.12.01 |