| 문제 소개 |
|---|
![]() |
| IsPrime |
|---|
![]() |
| FindNumbers |
|---|
![]() |
만약 문자열이 "123" 이렇게 들어온 다면, 만들 수 있는 조합은
1, 2, 3
12, 13, 21, 23, 31, 32
123, 132, 213, 231, 312, 321
이렇게 만들 수 있다.
여기서 문제가 문자를 사용해도 되고 안해도 된다는 점이다.
그래서 길이를 제한하는 targetLength 매개변수를 구현하였다.
또한 문자열이 "112"인 경우, 만들 수 있는 조합은
1, 2
11, 12, 21
112, 121, 211
이렇게 나온다.
이 경우를 확인해보면, 같은 수(1)라도 여러 번(2개가 들어옴)오면, 중복해서 사용할 수 있다.
그래서 해당 문자를 사용했는지 여부를 판단하는 used bool 배열을 사용했다.
for문을 이용해서 사용되지 않은 문자를 판단해서 조합하였다.
그리고 소수인지 판단하고 HashSet 자료구조인 foundPrime에 추가 하였다.
| solution |
|---|
![]() |