반응형
문제 설명
https://www.acmicpc.net/problem/1978
제출한 코드
import math
num = int(input())
lst = list(map(int, input().split()))
answer = 0
def prime(n):
for i in range(2, int(math.sqrt(n))+1):
if n % i == 0:
return False
return True
for i in range(num):
if lst[i] != 0 and lst[i] != 1 :
if prime(lst[i]) == True:
answer += 1
print(answer)
결과

후기
1부터 n까지 일일히 검사하는 방법도 있지만, 이론적으로 n의 제곱근까지만 검사하면 된다. 하지만 이도 시간이 꽤 소요되는 방법이다.
시간을 절약하는 다른 방법으로는 에라토스테네스의 체가 있는데, 이는 다음에 써보도록 하겠다.
반응형
'BQJ 백준 > python' 카테고리의 다른 글
[Python/파이썬] 백준 2751번: 수 정렬하기 2 (0) | 2024.07.09 |
---|---|
[Python/파이썬] 백준 2750번: 수 정렬하기 (0) | 2024.07.09 |
[Python/파이썬] 백준 1817번: 짐 챙기는 숌 (0) | 2024.07.08 |
[Python/파이썬] 백준 2747번: 피보나치 수 (0) | 2024.07.07 |
[Python/파이썬] 백준 2744번: 대소문자 바꾸기 (0) | 2024.07.07 |