슈콩

COS PRO 1급 JAVA n번째 작은 수 구하기 본문

카테고리 없음

COS PRO 1급 JAVA n번째 작은 수 구하기

shukong 2025. 12. 23. 21:32

 

 

[소스 코드]

import java.util.*;

class Main {
    boolean[] visit;
    List<Integer> list = new ArrayList<>();
    public int solution(int[] card, int n) {
        // 여기에 코드를 작성해주세요.
        int answer = 0;
        visit = new boolean[card.length];
        dfs(0,"",card);
        Arrays.sort(card);
        if(list.contains(n)) answer = list.indexOf(n);
        else answer = -1;
        return answer;
    }
    public void dfs(int cnt,String num,int[] card) {
        if(cnt==card.length){
            int numInt = Integer.valueOf(num);
            list.add(numInt);
            return;
        }
        for(int i=0;i<card.length;i++){
            if(!visit[i]){
                visit[i] = true;
                dfs(cnt+1,num+card[i],card);
                visit[i] = false;
            }
        }
    }
}