백준 알고리즘 1978 파이썬

Lee·2022년 9월 23일
0

백준

목록 보기
20/20

문제

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

입력

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

출력

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

n = int(input()) // 몇개의 숫자를 받을것인지
num = map(int, input().split()) // 소수인지 확인할 숫자들
cnt = 0 // 소수의 개수
for i in num:
    if i != 1:
        for j in range(2, i):
            if i % j == 0:
                break
        else:
            cnt += 1
print(cnt)

반복문 for을 통해 소수인지 확인할 숫자들이 저장되어있는 변수 num의 값을 차례로 i에 대입 첫번째 if문에서 if i != 1:에서 1은 소수가 아니므로 1인 경우에는 카운트가 올라가지 X 다음 반복문은 for else 반복문이다. for else 반복문은 for문이 한번 돌아 가고 else에 있는 코드가 실행된다. 그래서 break를 통해 하당 특성일 이용하면 소수인 숫자가 나올때 마다. cnt += 1를 통해 카운트가 올라간다.

profile
❝이 세상에는 위대한 진실이 하나 있어. 무언가를 온 마음을 다해 원한다면, 반드시 그렇게 된다는거야. 무언가를 바라는 마음은 곧 우주의 마음으로부터 비롯된 것이기 때문이지. 그리고 그것을 실현하는게 이 땅에서 자네가 맡은 임무라네❞ -파울로 코엘료 ‘연금술사’中-

0개의 댓글