
백트래킹
·
알고리즘(코딩테스트)
1. 백트래킹쉽게 말해서 가능한 모든 경우의 수를 다 해보는 알고리즘이다.재귀 함수를 사용하여, 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘! 문제를 보고, 주어진 전체 배열의 크기가 크지 않을 때 사용해 볼 법한 알고리즘이다.(너무 큰 경우 시간 초과가 날 것이다) 가장 기본적인 형태로, N개 중 M개를 뽑는 문제가 존재한다.https://www.acmicpc.net/problem/15649 코드 설명기본적으로 아래와 같은 형태로 재귀함수를 구성하게 된다.isused 라는 이미 사용한 것인지를 체크하는 배열을 통해 중복을 제거하게 된다.Choose라는 함수 안에서 경우의 수를 뽑는 과정이 이루어진다.cur은 현재 뽑은 갯수가 되고, cur이 m이 되는 순간 특정 처리를 해주면 된..