[DAY19] 완전탐색_소수찾기
2019. 8. 26. 20:47ㆍ개발/알고리즘
반응형
소수 찾기
문제 설명
한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다.
각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요.
제한사항
- numbers는 길이 1 이상 7 이하인 문자열입니다.
- numbers는 0~9까지 숫자만으로 이루어져 있습니다.
- 013은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다.
입출력 예
numbers | return |
---|---|
17 | 3 |
011 | 2 |
입출력 예 설명
-
예제 #1
[1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. -
예제 #2
[0, 1, 1]으로는 소수 [11, 101]를 만들 수 있습니다.
11과 011은 같은 숫자로 취급합니다.
풀이
-
접근
1) String의 spilt를 사용하여 int [] 타입에 한 숫자씩 치환해서 넣기
2) 1)에서 구한 숫자들의 순열을 구하면서 그 안에서의 소수를 구함. 중복 방지를 위한 set도 한 개 선언
3) 2) 번에서 구한 소수 개수 반환 -
풀이 과정에서 가장 중요했던 부분(몰랐던 부분)
1) 순열: n 개의 값 중에서 r 개의 숫자를 모든 순서대로 뽑는 경우의 수swap를 통한 순열 처리. 해당 부분은 한번 더 공부 해야할 듯
출처 및 전체 소스
반응형
'개발 > 알고리즘' 카테고리의 다른 글
[DAY21] 완전탐색_카펫 (0) | 2019.08.28 |
---|---|
[DAY20] 완전탐색_숫자 야구 (0) | 2019.08.27 |
[DAY18] 완전탐색_모의고사 (0) | 2019.08.25 |
[DAY17] 힙(Heap)_이중우선순위 (0) | 2019.08.24 |
[DAY16] 힙(Heap)_디스크 컨트롤러 (0) | 2019.08.23 |