정리
프로그래머스: 소수 찾기(Level 2) 본문
프로그래머스: 소수 찾기(Level 2)
코딩테스트 연습 - 소수 찾기
한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이
programmers.co.kr
문제 설명
한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.
각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요.
제한사항
- numbers는 길이 1 이상 7 이하인 문자열입니다.
- numbers는 0~9까지 숫자만으로 이루어져 있습니다.
- 013은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다.
풀이 방법
순열(permutation)을 활용하여 풀었다
순열을 통해서 모든 경우의 수를 찾고 set을 통해서 중복되는 수를 제거하고 소수인지 아닌지를 판별했다
종이 조각으로 만들 수 있는 경우의 수를 찾는 방법에는 다른 방법도 있지만 파이썬에서는 itertools에서 순열 라이브러리를 지원하기 때문에 순열을 이용하여 풀었다
※ chain(*my_list) 은 2차원 리스트를 1차원 리스트로 만들어주는 역할을 한다
소수 판별법에 관한 내용은 아래 게시물에 있다
백준 19699번: 소-난다!
백준 19699번: 소-난다! 19699번: 소-난다! 지난 번 헛간 청약의 당첨우(牛)가 발표됐다. 청약에 당첨된 소들은 날아갈 듯이 기뻐하다가 진짜로 하늘을 날았다. 하지만 이후로 소들은 날 수 없었다.
data-bank.tistory.com
'Programming > 프로그래머스' 카테고리의 다른 글
프로그래머스: 가장 긴 팰린드롬(Level 3) (0) | 2022.02.05 |
---|---|
프로그래머스: 정수 삼각형(Level 3) (0) | 2022.02.02 |
프로그래머스: 가장 먼 노드(Level 3) (0) | 2022.02.01 |
프로그래머스: 순위 검색(Level 2) (0) | 2022.01.31 |
프로그래머스: 타겟 넘버(Level 2) (0) | 2022.01.29 |
Comments