문제설명입력 & 출력나의 풀이이번 "백준 - N과 M (1)" 문제는 1부터 N까지의 자연수 중에서 길이 M인 순열을 모두 구하는 문제입니다. 문제 접근 방식1. 순열 생성길이 M의 순열을 구성해야 하므로, 각 숫자가 중복되지 않도록 방문 여부를 체크.2. 백트래킹현재까지의 순열 상태에서 가능한 숫자를 추가하여 재귀적으로 탐색.3. 종료 조건순열의 길이가 M이 되면 결과를 출력.순열(Permutation)이란, 주어진 원소들을 순서를 고려하여 배열한 경우의 수전체 코드 이번 문제는 N과M이 주어졌을 때 1에서 N의 수에서 M길이의 순열을 출력하는 문제입니다. 먼저 방문 여부(visited)와 순열을 저장할 배열(Permutation), 결과를 출력할 StringBuilder는 자주 초기화되기 때문에 s..
백트래킹
백트래킹(Backtracking) 알고리즘이란 ❓백트래킹(Backtracking)은 문제 해결을 위한 탐색 기법 중 하나로, 재귀적 탐색과 되돌리기(backtrack)를 활용하여 최적의 해를 찾는 방법입니다. 많은 최적화 문제, 조합 문제, 순열 문제 등에서 널리 사용되며, 가능한 해를 하나씩 시도하면서 해가 될 것 같지 않으면 더 이상 탐색하지 않고 되돌아갑니다. 여기서 더 이상 탐색할 필요가 없는 상태를 제외하는 것을 가지치기(pruning)라고도 합니다. 백트래킹(Backtracking)의 기본 개념백트래킹은 탐색 트리에서 깊이 우선 탐색(DFS) 방식으로 진행되며, 각 노드에서 가능한 모든 선택을 해본 후, 그 선택이 잘못된 경로일 경우에는 다시 되돌아가서 다른 선택을 시도하는 방식입니다. 이..