티스토리 뷰

코딩테스트/백준

백준-1978(파이썬)

김쓰로그 2022. 8. 23. 18:32

https://www.acmicpc.net/problem/1978

 

1978번: 소수 찾기

첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다.

www.acmicpc.net

 

문제생각

소수를 구하는 문제이다. 제한시간도 2초인데 주어진 수의 개수가 100개 이하이고 숫자도 1000이하의 자연수이니

그냥 수 하나하나가 소수가 맞는지 검증하는 코드를 짰다.

 

문제풀이

  1. 1은 소수가 아니므로 바로 False 반환 // 2는 소수이므로 바로 True 반환
  2. 2부터 int(num**0.5)+1까지 루프를 돌려 전달된 수가 소수인지 검증한다.
  3. main에 True가 반환되어오면 ans에 +1을 하여 결과를 출력한다
def solution(num):
    if(num==1):
        return False
    elif(num==2):
        return True

    for i in range(2, int(num**0.5)+1):
        if(num%i==0):
            return False
    else:
        return True

n=int(input())
n_list=list(map(int, input().split()))
ans=0

for i in n_list:
    if(solution(i)):
        ans+=1
print(ans)

'코딩테스트 > 백준' 카테고리의 다른 글

백준-19637(파이썬)  (0) 2022.09.30
백준-2108(파이썬)  (0) 2022.08.29
백준-7568(파이썬)  (0) 2022.08.29
백준-1316(파이썬)  (0) 2022.08.23
백준-4673(파이썬)  (0) 2022.08.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함