백준 Q15649 N과 M (1)

손정민·2024년 1월 14일



백트래킹의 대표적인 시리즈인 N과 M 그 첫번째 문제이다


로직 설계

  1. 중복된 값은 없어야 함으로 visited과 current값을 두어 중복값 피하기
    private static void dfs(int N, int M, int count){
        if(count == M) {
            for(int i=0; i<M; i++){
                System.out.print(list.get(i) + " ");
            }
            System.out.println();
            return;
        }
        for(int i=1; i<=N; i++){
            if(!visited[i]){
                visited[i] = true;
                list.add(i);
                dfs(N,M,count+1);
                visited[i] = false;
                list.remove(list.size()-1);
            }
        }
    }

백,,트래킹,,

profile
코린이의 성장교실

0개의 댓글