백준 15656 N과 M (7) JAVA

sundays·2024년 6월 25일
0

문제

N과 M (7)

풀이

이제 이쯤됬으면 백트래킹에 대해서 그냥 출퇴근 시간에 무심결에 생각하게 됬다.
이문제는 이전에 6번문제,, 포스팅을 안했지만 그문제 보다 더 쉽다,

private static void backtracking(int depth) {
	// 멈추는 조건
    if (depth == m) {
    	..
        return;
    }
    
    // 반복조건
    for (int i = 0; i < n; i++) {
    	..
    	backtracking(depth + 1);
    }
}

일단 멈추는 조건은 m번째에 멈추면 되고
반복조건은 중복이 가능하기 때문에 visited 체크는 하지않아도 되고, 멈추는 조건에서 출력할 데이터를 저장할 곳에 입력으로 받은 데이터를 i부터 n번째 까지 순서대로넣어주면 됩니다. 처음에는 백트래킹이 정말 어려운거같은데, 손으로 스택을 그려가면서 하면 정말 쉽게 이해가 가능합니다

전체 코드

전체 코드

profile
develop life

0개의 댓글