공통문제로 backtracking의 대표 문제인 n-queens 가 선택되었다.
n-queens 를 예전에 답을 본적이 있지만, 역시나.. 이번에도 답을 봐버렸다.
이참에 확실히 정리하고 넘어가는 것이 좋을 것 같아, 최대한 자세하게 풀이를 적을 것이다. (내가 이해할 수 있도록)
backtracking 이란?
backtracking 이란 어떤 노드의 유망성(promising)을 점검한 뒤, 유망하지 않다면 해당 노드의 부모노드로 돌아가(backtracking) 다음 잣기 노드에 대한 검색을 계속 진행하는 과정의 방법이다.
(출처 - http://emzei.tistory.com/223 )
n-queen 문제가 무엇인지에 대해선.. 다른 곳에 자세히 나와있으니 그걸 보도록 하고, 문제를 풀기위해선 상태공간 트리를 깊이 우선 방식으로 탐색하여 해를 찾는 알고리즘이 일반적으로 쓰인다.
'알고리즘 풀이' 카테고리의 다른 글
백준 2193 이친수 (0) | 2017.12.15 |
---|---|
백준 1937번 욕심쟁이 판다 (0) | 2017.12.11 |
백준 2292번 벌집 (0) | 2017.12.06 |
백준 2163번 초콜릿 자르기 (0) | 2017.12.04 |
(공통문제) 지그재그 배열 (0) | 2017.12.01 |