반응형
문제
https://www.acmicpc.net/problem/1978
접근 방법
1. 소수 판별하기
→ 2로 나눠 약수가 있는지 검사하기. 1과 자기 자신만 있다면 소수로 판별한다
나의 코드
N = int(input())
cnt = 0
num = map(int, input().split())
for i in num:
for j in range(2, i+1):
if i % j == 0:
if i == j:
cnt += 1
break
print(cnt)
- 주어진 수 i에 대해 2부터 i까지의 수로 나누어 떨어지는지 확인합니다.
- 만약 i가 어떤 수 j로 나누어 떨어진다면 (i % j == 0), 그 수는 소수가 아닙니다. 단, i가 j와 같은 경우는 예외입니다. 이 경우는 소수로 간주하고 cnt를 증가시킵니다.
- 이 로직은 i가 소수일 때만 cnt를 증가시키고, 첫 번째로 나누어 떨어지는 순간 반복을 종료합니다(break 사용).
반응형
'PS > Baekjoon' 카테고리의 다른 글
[백준] 21736 :: 헌내기는 친구가 필요해 (python) (2) | 2024.09.19 |
---|---|
[백준] 1655:: 가운데를 말해요 (python) (0) | 2024.08.21 |
[백준] 5568 :: 카드 놓기 (python) (0) | 2024.08.14 |
[Python] 백준 2309 :: 일곱 난쟁이 (0) | 2024.08.10 |
[백준] 1316 그룹 단어 체커(Python) (0) | 2024.06.08 |