728x90
문제) 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오.
n = int(input())
data = list(map(int, input().split()))
count = 0
for i in data :
check = 0
if i == 1 :
continue
for j in range(2, i) : # 1은 소수가 아니기 때문에 2부터 반복
if i % j == 0 : # 나머지가 0이면 소수가 아니기 때문에 check = 1 선언
check = 1
if check == 0 :
count += 1
print(count)
일단 처음 n을 입력하고, data를 list로 받아준다. 그리고 count를 0으로 초기화시켜준다.
이 후 for 문을 통해 data를 반복하고, check를 0부터 카운트 할 수 있게 0을 선언해준다.
그리고 i = 1이면 다음 for문으로 이동한다.
다음 if문 i % j가 0아면 check는 1이되게 선언하고, 다음 if문은 check가 0이 나오면 계속 count를 하게 한다.
마지막으로 count를 출력하면 소수를 찾을 수 있다.
이해가 안되시거나 틀린 정보는 댓글로 알려주시면 감사하겠습니다!
728x90
'알고리즘 > 백준 - 파이썬' 카테고리의 다른 글
백준) 6749번 Next in line 문제 (파이썬) (0) | 2022.07.14 |
---|---|
백준) 2581번 소수 문제 (파이썬) (0) | 2022.07.12 |
백준) 1010번 다리 놓기 (파이썬) (0) | 2022.06.29 |
백준) 1009번 분산처리 문제 (파이썬) (0) | 2022.06.27 |
백준) 7567번 그릇 문제 (파이썬) (0) | 2022.06.25 |
댓글