728x90
*문제 출처는 프로그래머스에 있습니다.
문제 제목: 소수 찾기
문제 사이트: https://programmers.co.kr/learn/courses/30/lessons/12921
나의 풀이
def solution(n):
ch = [0] * (n+1)
cnt = 0
for i in range(2,n+1):
if ch[i] == 0:
cnt += 1
for j in range(i,n+1,i):
ch[j] = 1
return cnt
다른 풀이
def solution(n):
num=set(range(2,n+1))
for i in range(2,n+1):
if i in num:
num-=set(range(2*i,n+1,i))
return len(num)
※ 알아야 할 것
- set함수를 이용해서도 풀 수 있다
728x90
'coding test - python > Programmers' 카테고리의 다른 글
Programmers / 정수 내림차순으로 배치하기 / Python (0) | 2022.03.31 |
---|---|
Programmers / 문자열 내 p와 y의 개수 / Python (0) | 2022.03.31 |
Programmers / 약수의 개수와 덧셈 / Python (0) | 2022.03.31 |
Programmers / 같은 숫자는 싫어 / Python (0) | 2022.03.30 |
Programmers / 나누어 떨어지는 숫자 배열 / Python (0) | 2022.03.29 |