728x90
Key Point
1. 소수는 1과 자기 자신만을 약수로 가지는 수이다.
-> 소수라면 약수가 2개이다. 소수가 아니면 약수가 2개 초과이다.
-> 즉, 약수가 2개인 값을 구하면 된다.
2. sys.stdin.readline()을 사용하여 시간 복잡도를 줄인다.
알게 된 문법
append -> 리스트에 추가
clear -> 리스트 비우기
list1.append()
list1.clear()
import sys
N = int(sys.stdin.readline())
list1 = list(map(int, sys.stdin.readline().split()))
list2 = [] # 약수 넣는 리스트
cnt = 0
for i in range(N):
for j in range(1, list1[i]+1): # 1~요소값
if list1[i] % j == 0: # 약수 라면
list2.append(j) # list2에 추가
if len(list2) == 2: # 소수라면
cnt += 1 #카운트 추가
list2.clear() # 요소 하나 탐색 끝나면 clear
print(cnt)
728x90
'백준 풀이' 카테고리의 다른 글
[백준/BOJ] - 11866번 python 풀이 (0) | 2022.11.20 |
---|---|
[백준/BOJ] - 11650번, 11651번 python 풀이 (0) | 2022.11.20 |
[백준/BOJ] - 11050번 python 풀이 (0) | 2022.11.19 |
[백준/BOJ] - 10989번 python 풀이 (0) | 2022.11.19 |
[백준/BOJ] - 2869번 python 풀이 (0) | 2022.11.19 |