유형 : 완전탐색
풀이 시간 : 10분
from itertools import permutations
def solution(numbers):
answer = dict()
numbers = list(numbers)
for i in range(1, len(numbers)+1):
for num in permutations(numbers, i):
if check(int(''.join(num))):
answer[int(''.join(num))] = 1
return len(answer)
def check(num):
if num == 0 or num == 1:
return False
for i in range(2, int(num ** 0.5) + 1):
if num % i == 0 and num != i:
return False
return True
소수 찾는 함수 + 기본 permutation, dict를 사용해 해결하였다.
전부 탐색해보는 방법으로 풀이 가능
https://chocodingdiary.tistory.com/120
39. 소수 찾기 ★ (소수 판별 알고리즘)
유형 : 구현 (소수 판별)풀이 시간 : 15분 -> 인터넷 서치 소수 판별을 효율적으로 하려면, 에라스토테네스의 체 원리를 이용해야 한다. 1. 기본 : set, 에라스토테네스의 체 이용하기 def solution(
chocodingdiary.tistory.com
https://chocodingdiary.tistory.com/119
38. 소수 만들기 (소수 판별 알고리즘)
유형 : 구현풀이 시간 : 20분 def solution(nums): answer = -1 from itertools import combinations sumnum = [] for number in combinations(nums, 3): cnt = sum(number) sumnum.append(cnt) sumnum.sort(reverse = True) answer = 0 for i in range(len(sumnum)
chocodingdiary.tistory.com
'프로그래머스 > Lv. 2' 카테고리의 다른 글
15. 타겟 넘버 ★(DFS) (0) | 2024.07.18 |
---|---|
14. 카펫 (완전 탐색) (0) | 2024.07.18 |
12. H-index ★★ (정렬) (0) | 2024.07.18 |
11. 가장 큰 수 ★★ (정렬) (0) | 2024.07.18 |
10. 주식가격 (스택/큐) ★★ (0) | 2024.07.18 |