프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제풀이
1. 완전탐색 순열을 이용 ( ex numbers = "178" )

2. numbers 에 중복된 숫자가 들어올 수 있으므로 Hashset을 사용 ( numbers = "177" )
나의풀이 ( 코드 )
import java.util.*;
class Solution {
static HashSet<Integer> hs = new HashSet<>();
static boolean[] visit;
static String[] arr;
public int solution(String numbers) {
int answer = 0;
arr = numbers.split("");
visit = new boolean[arr.length];
permutation(0, "");
for (int i : hs) {
if (isPrime(i) == 1) {
answer++;
}
}
return answer;
}
static void permutation(int index, String s) {
if(!s.isEmpty()) {
hs.add(Integer.parseInt(s));
}
for (int i = 0; i < arr.length; i++) {
if(!visit[i]){
visit[i] = true;
permutation(index + 1, s + arr[i]);
visit[i] = false;
}
}
}
static int isPrime(int n) {
if (n <= 1) {
return 0;
}
for (int i = 2; i<=(int)Math.sqrt(n); i++) {
if (n % i == 0) {
return 0;
}
}
return 1;
}
}'알고리즘 > 프로그래머스' 카테고리의 다른 글
| [프로그래머스/JAVA 자바] 메뉴 리뉴얼 (0) | 2024.02.23 |
|---|---|
| [프로그래머스/JAVA 자바] 가장 많이 받은 선물 (4) | 2024.01.09 |
| [프로그래머스/JAVA 자바] 다리를 지나는 트럭 (1) | 2023.12.06 |
| [프로그래머스/JAVA 자바] 가장 큰 수 (0) | 2023.12.05 |
| [프로그래머스/JAVA 자바] 쿼드압축 후 개수 세기 (0) | 2023.12.04 |