정리

프로그래머스: 소수 찾기(Level 2) 본문

Programming/프로그래머스

프로그래머스: 소수 찾기(Level 2)

H.J.Park 2021. 2. 12. 00:12

프로그래머스: 소수 찾기(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

Comments