반응형
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
- lazy evaluation
- 하둡1.0
- 스파크
- 하둡에코시스템
- 실행엔진
- 프로그래머스 큰 수 만들기
- freenom
- Catalyst Optimizer
- Spark 최적화
- 데이터 수집
- 서버간 복사
- 하둡
- 지연연산
- 데이터파이프라인
- 데이터베이스복사
- Databricks
- 빌드도구
- EMR 구조
- 하둡2.0
- ORACLE문법
- ORACLE MSSQL차이
- 문맥교환
- 런타임데이터영역
- Spark
- AWS Crawler
- 데이터엔지니어링
- 카프카
- 프로그래머스
- 프로그래머스힙
- kafka 설치
Archives
- Today
- Total
띵유로그
[프로그래머스][완전탐색]소수탐색 본문
반응형
내 풀이
def is_prime(num):
if num==0 or num==1:
return False
for i in range(num-2):
if num%(i+2)==0:
return False
return True
def solution(numbers):
answer = 0
import itertools
num=[]
for i in range(len(numbers)):
num.extend(list(map(''.join, itertools.permutations(numbers,i+1))))
num=[int(i) for i in num]
num=list(set(num))
print(num)
for i in num:
if is_prime(i):
answer+=1
return answer
더 효율적인 풀이)
- list를 계속해서 extend하는것이 아닌 set을 합집합으로 붙여나가면된다..!
num|=set(map(''.join, itertools.permutations(numbers,i+1))
- range(2,8) : 로 하면 2부터 7까지 범위 지정
- itertools.permutation을 하면 permutation 객체가 됨-> 출력하려면 list로 변환 필요
pool = ['A', 'B', 'C']
print(list(map(''.join, itertools.permutations(pool)))) # 3개의 원소로 수열 만들기 print(list(map(''.join, itertools.permutations(pool, 2)))) # 2개의 원소로 수열 만들기
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스][그리디]큰 수 만들기 (0) | 2020.09.15 |
---|---|
[프로그래머스][완전탐색]카펫 (0) | 2020.09.09 |
[프로그래머스][힙]이중우선순위큐 (0) | 2020.09.06 |
[프로그래머스][완전탐색]모의고사 (0) | 2020.09.06 |
[프로그래머스][정렬]H-Index (0) | 2020.09.06 |
Comments