본문 바로가기

백트래킹2

[백준] 15650번 : N과 M (2) – JAVA [자바] https://www.acmicpc.net/problem/15650  문제  해결 방법이 문제는 백트래킹(Backtracking)을 활용하여 중복 없이 M개의 숫자를 선택하는 순열(Permutation) 문제이다. 다음과 같은 방식으로 해결할 수 있다.1. 조합(Combination) 개념 활용1부터 N까지의 숫자 중에서 M개를 고른다.선택한 숫자는 오름차순이어야 한다.사전 순으로 출력해야 하므로, 작은 숫자부터 선택한다. 2. 백트래킹을 이용한 조합 생성start 변수를 활용하여 중복을 방지하고 오름차순을 유지한다.for 문을 이용해 start 값부터 N까지 반복하며 숫자를 선택한다.선택한 숫자를 result 배열에 저장하고, 길이가 M이 되면 출력한다.재귀 호출을 통해 다음 숫자를 선택하고, 선택이 .. 2025. 4. 2.
[백준] 15649번 : N과 M (1) – JAVA [자바] https://www.acmicpc.net/problem/15649  문제  해결 방법이 문제는 백트래킹(Backtracking)을 활용하여 중복 없이 M개의 숫자를 선택하는 순열(Permutation) 문제이다. 다음과 같은 방식으로 해결할 수 있다.1. 백트래킹을 이용한 순열 생성1부터 N까지의 숫자 중에서 M개를 고른다.숫자는 중복 없이 선택해야 한다.사전 순으로 출력해야 하므로, 작은 숫자부터 선택한다. 2. 백트래킹을 수행하는 과정for 문을 이용해 1부터 N까지 순회하며 숫자를 선택한다.이미 선택한 숫자는 방문 체크 배열(visited [])을 사용하여 중복을 방지한다.선택한 숫자를 result [] 배열에 저장하고, 길이가 M이 되면 출력한다.재귀 호출을 통해 다음 숫자를 선택하고, 선택이 .. 2025. 4. 1.
반응형