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 |
Tags
- 서빙로봇
- 이색데이트
- 인천맛집
- 차덕분
- 구읍뱃터맛집
- 서울역 상견례
- 영종도맛집
- 청키파이
- 남양주 여행지
- 산정호수 한화리조트
- 포천 가볼만한 곳
- 정글만리
- 구읍뱃터디저트
- 조정래
- 마살라 커리
- 서울로인
- 책
- 서울 부모님과 식사
- 영종도디저트
- 바다앞꼬막집
- 포천 관광지
- 글로우펏
- 송도 오마카세
- 룸식당
- 을왕리데이트
- 중국
- 현백 디저트
- 영등포 가볼만한 곳
- m1000RR
- 가성비 오마카세
Archives
- Today
- Total
ISTP의 간단명료 블로그
[프로그래머스] 소수 찾기 / 완전탐색 / 배열의 경우의 수(permutation) 본문
문제

풀이
from itertools import *
def solution(numbers):
answer = 0
num=[]
strNum=[]
for a in range(len(numbers),0,-1):
strNum = strNum+list(permutations(numbers, a))
for a in strNum:
num.append(int(''.join(a)))
return sum([is_prime_number(x) for x in set(num)])
def is_prime_number(x):
# 2부터 (x - 1)까지의 모든 수를 확인하며
if x < 2:
return False
for i in range(2, x):
# x가 해당 수로 나누어떨어진다면
if x % i == 0:
return False # 소수 아님
return True
다른사람 풀이
from itertools import permutations
def solution(n):
a = set()
for i in range(len(n)):
a |= set(map(int, map("".join, permutations(list(n), i + 1))))
a -= set(range(0, 2))
for i in range(2, int(max(a) ** 0.5) + 1):
a -= set(range(i * 2, max(a) + 1, i))
return len(a)
느낀점
- a |= b ( a = a or b)
- 리스트 원소의 경우의 수 구하는 방법 👉 permutation
- from itertools import permutation 활용
- 소수 찾는 방법 (에라토스테네스의 체)
- 2부터 (구하고자 하는 수의 제곱근)까지의 배수만 지우면 소수개수 확인 가능

'풀다' 카테고리의 다른 글
| [프로그래머스] H-Index 테스트케이스 / 정렬 / 리스트 조건 (0) | 2023.07.10 |
|---|---|
| [프로그래머스] 날짜 비교하기 반례 테스트케이스 / 배열 부등호 (0) | 2023.06.29 |
| [프로그래머스] 디스크 컨트롤러 테스트 케이스 / deque (0) | 2023.06.23 |
| [프로그래머스] 더 맵게 / python 힙 자료구조 모듈 heapq (0) | 2023.06.21 |
| [프로그래머스] 프로세스 / 스택, 큐 / any, all (0) | 2023.06.18 |