Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- 알고리즘 풀이
- Python 나머지
- set to list
- RecursionError
- Python 몫
- list.sorted()
- Unknown command: cask
- index
- sort()
- 알고리즘
- 프로그래머스
- permutations
- Boto3
- List 초기화
- python3
- 피보나치 수
- string
- Modified Date
- List
- zip()
- Python
- Split
- list.pop(0)
- COUNT
- list to set
- List to String
- cask
- sting position
- Algorithm
- homebrew-core is a shallow clone.
Archives
- Today
- Total
데이터와 코드로 세상을 바라봅니다.
[Python3] 알고리즘 : 프로그래머스 - 소수찾기 본문
def check_prime(a):
answer = True
for i in range(2,a) :
if a % i == 0:
answer = False
break
return answer
def solution(n):
answer = 0
prime_list = list(range(2,n+1))
for i in prime_list :
if check_prime(i) == True :
answer += 1
for k in range(2, int(n/i)) :
if (i*k) in prime_list :
prime_list.remove(i*k)
return answer
속도가 안나온다...
그래서, 방법을 찾아본다.... 에라토스 테네법 이라는데... 모르겠다... 배수를 제거하는 대로 짰는데,
def check_prime(a):
answer = True
for i in range(2,a) :
if a % i == 0:
answer = False
break
return answer
def solution(n):
answer = 0
prime_list = []
for i in range(2,n+1) :
is_prime = True
for j in prime_list :
if i % j == 0 :
is_prime = False
break
if is_prime == True :
prime_list.append(i)
answer += 1
return answer
여전히 속도가 안나온다....
결국 남의 코드 참고...
def solution(n):
answer = 0
set_n = set(range(2,n+1))
for i in range(2,n+1) :
set_n -= set(range(2*i,n+1,i))
answer = len(set_n)
return answer
'Code > Python' 카테고리의 다른 글
[Python3] 2019 KAKAO BLIND RECRUITMENT - 오픈채팅방 (0) | 2021.01.25 |
---|---|
[Python3] 프로그래머스 - 더 맵게 (0) | 2021.01.22 |
2018 KAKAO BLIND RECRUITMENT[1차] - 다트 게임 (0) | 2021.01.15 |
[Python3] - 알고리즘 : 문자열 내 마음대로 정렬하기 (0) | 2021.01.12 |
[Python3] 2020 카카오 인턴십 - 키패드 누르기 (0) | 2021.01.11 |