[BOJ/백준-Python]1978번 - 소수 찾기

1978번 - 소수 찾기

문제

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

입력

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

출력

주어진 수들 중 소수의 개수를 출력한다.

예제 입력 1

4
1 3 5 7

예제 출력 1

3

해결할 방법을 생각해보자.💡

소수는 1보다 크면서 1과 자기 자신으로만 나눠지는 수를 뜻한다.

예를 들어 3, 5, 7, 11과 같은 수들이 그 경우다.

첫 줄에서 수의 개수 N을 받아주자.

N = int(input())

그리고 소수인지 판단할 수들을 입력받아주자.

num = list(map(int, input().split()))

소수는 영어로 decimal이라고 한다. 입력된 수 중 소수로 판단이 된다면 체크해주기 위한 변수도 만들어주자.

decimal = 0

이제 반복문을 사용해서, 입력받은 num의 요소들을 소수인지 판단할 것이다.

for i in num:

자기 자신 말고, 다른 것으로 나눠진다면 no_decimal을 추가할 것이다. 만약 0이 아니라면, 그것은 소수가 아닌 것이다.

	no_decimal = 0

1은 소수가 아니다 따라서 요소가 1보타 커야한다.

또한 모든 자연수는 기본적으로 1로 나눠지기 때문에 반복문의 시작 범위를 2부터로 정해준다.

이중 반복문을 통해서 자기 자신 이전의 수까지 만약에 나눠져서 몫이 생긴다면(나머지가 없다면), 그 수는 소수가 아니여서 no_decimal이 1이 추가되도록 설계하자.

	if i > 1:
        for j in range(2, i):
            if i % j == 0:
                no_decmial += 1

만약에 나눠진 몫이없다면(모두 나머지가 있다면), 소수가 맞으므로 decimal이 1이 추가되도록 한다.

	if no_decimal == 0:
        decimal += 1

그리고 출력해주면 문제해결 완료!

print(decimal)

코드💻

N = int(input())
num = list(map(int, input().split()))
decimal = 0

for i in num:
    no_decimal = 0
    if i > 1:
        for j in range(2, i):
            if i % j == 0:
                no_decimal += 1
        if no_decimal == 0:
            decimal += 1

print(decimal)

해결 로그

문제 푼 날짜 체크
2022-06-09
   
   
   
   

2022

[web]jQuery 복습 3

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 2

13 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]jQuery 복습 1

14 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리4

5 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리3

10 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리2

7 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]JavaScript 정리1

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]CSS 기초 정리

11 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[web]HTML 기초 정리

8 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

[Pandas]pandas 연습

3 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑

2021

[Python기초]module

1 분 소요

[Noitce] 고쳐야하거나 틀린 것이 있으면 말씀해주세요!

맨 위로 이동 ↑