https://www.acmicpc.net/problem/1978
n=int(input())
str =list(map(int,input().split()))
count=0
if 1 in str:
str.remove(1)
for i in str:
tmp=0
for j in range(2,i+1):
if i%j==0:
tmp+=1
if tmp==1:
count+=1
print(count)
- 소수의 특징 : 1과 자신의 수로만 나뉘어져야 하는 수 (1을제외)
- 따라서 먼저 입력받은 정수리스트에서 1이 있으면 1을 제거해준다.
- 반복문을 이용해 str리스트를 순회하며 i(자신) 가 j(2~자신) 로 나누어 떨어지면 (i%j==0) tmp++ 진행
- 내부 반복문을 빠져나온후 tmp값이 1이면 count++ 진행
- count 값 출력
'자기개발👨💻 > 코딩 알고리즘' 카테고리의 다른 글
소수 구하기 (0) | 2021.07.01 |
---|---|
[Python] 백준4153 직각삼각형 (0) | 2021.06.28 |
백준<2751 수정렬하기2 > 와 <10989 수정렬하기3> 비교 (이선생이알려줌) (0) | 2021.06.26 |
[Python] 백준 4673 셀프넘버 (환기_성공) (0) | 2021.06.20 |
[python] 백준1145 적어도 대부분의 배수 (0) | 2021.03.11 |
[python] 백준 1032 명령프롬프트 (0) | 2021.03.10 |