[Python] 소수찾기 - 완전탐색

2024. 2. 15. 21:51· 자료구조&알고리즘/프로그래머스
목차
  1. 문제
  2. 코드
  3. 다른 사람 코드
  4. 접근법
  5. 배운 점
728x90

문제

 

 

 

코드

from itertools import permutations

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num**0.5) + 1):
        if num % i == 0:
            return False
    return True

def solution(numbers):
    answer = set()

    # 가능한 모든 숫자를 생성하여 집합에 추가
    for i in range(1, len(numbers) + 1):
        perms = permutations(numbers, i)
        for perm in perms:
            num = int(''.join(perm))
            if is_prime(num):
                answer.add(num)

    return len(answer)

permutations 함수는 입력된 iterable(여기서는 numbers)에서 주어진 길이(i)만큼의 모든 가능한 순열을 반환합니다.

 

 

 

다른 사람 코드

primeSet = set()

def is_prime(num):
    if num < 2:
        return False
    for i in range(2, int(num**0.5)+1):
        if num % i == 0:
            return False
    return True

def makeCombination(str1, str2):
    if str1 != "":
        if is_prime(int(str1)):
            primeSet.add(int(str1))

    for i in range(len(str2)):
        makeCombination(str1 + str2[i], str2[:i]+ str2[i+1:])
        # str2[:i]: 문자열의 시작부터 i 이전까지의 부분 문자열을 선택합니다.
		# str2[i+1:]: 문자열의 i+1 인덱스부터 끝까지의 부분 문자열을 선택합니다.
		# 두 부분 문자열을 합치면, str2에서 i에 해당하는 문자를 제외한 부분 문자열을 얻게 됩니다.

def solution(numbers):
    makeCombination("", numbers)
    return len(primeSet)

 

 

 

접근법

 

 

 

 

 

배운 점

permutations 함수에 대해서 배웠고 list indexing에 대해서 더 깊이 있게 배웠다

저작자표시 비영리 (새창열림)

'자료구조&알고리즘 > 프로그래머스' 카테고리의 다른 글

[Python] 대충 만든 자판  (0) 2024.12.22
[PCCP 기출문제] 2번 / 퍼즐 게임 챌린지  (0) 2024.12.22
[Python] 모의고사 - 완전탐색  (0) 2024.02.15
[Python] 최소 직사각형 - 완전탐색  (0) 2024.02.14
[Python] H_Index - 정렬  (0) 2024.02.13
  1. 문제
  2. 코드
  3. 다른 사람 코드
  4. 접근법
  5. 배운 점
'자료구조&알고리즘/프로그래머스' 카테고리의 다른 글
  • [Python] 대충 만든 자판
  • [PCCP 기출문제] 2번 / 퍼즐 게임 챌린지
  • [Python] 모의고사 - 완전탐색
  • [Python] 최소 직사각형 - 완전탐색
두잇 두두
두잇 두두
읽기 쉬운 코드를 짜기 위해 노력합니다. 좋은 코드는 단순하고 이해하기 쉬워야 한다고 생각합니다.
두잇 두두
두두 DB
두잇 두두
전체
오늘
어제
  • 분류 전체보기 (135)
    • CS지식 (7)
    • 시스템 설계 (5)
    • 자료구조&알고리즘 (36)
      • 자료구조 (1)
      • 백준 (13)
      • 프로그래머스 (15)
      • 인프런 (2)
    • Python (9)
      • Docs (3)
      • 실험실 (2)
    • Django (36)
      • orm (10)
      • view (3)
      • model (3)
      • admin (3)
      • restframework (13)
      • error (1)
      • utils (2)
    • Java (2)
      • JPA (3)
    • AI (1)
      • AI가 쓴 글 (1)
    • Git (4)
    • Linux (1)
    • 개발자로써 (8)
      • 회고 (1)
    • 문화생활 (0)
      • 여행 (0)
    • 도서📚 (0)
      • 일반 도서 (0)
      • 개발 도서 (0)
    • 프론트 (1)
      • snippet (1)

블로그 메뉴

  • 홈
  • 방명록

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
두잇 두두
[Python] 소수찾기 - 완전탐색
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.