정렬 알고리즘 2

정글사관학교 10일차 TIL: 안전 영역 문제 풀이, 정렬 알고리즘 정리(버블 정렬, 선택 정렬, 삽입 정렬, 힙 정렬)

0. 목차 1. 안전 영역 풀이 (with 재귀 dfs) 2. 정렬 알고리즘 정리 - 버블, 선택, 삽입 정렬 + 힙 정렬까지 1. 안전 영역 풀이 (with 재귀 DFS) 안전 영역은 백준 알고리즘 #2468번 문제다. 문제 내용이 기니 링크를 타고서 직접 확인해보도록 하자. 이 문제는 재귀를 이용한 DFS 방식으로 푼다. 재귀는 자기 자신을 호출하면서 스택처럼 쌓이기 때문에 DFS를 구현하기에 좋은 알고리즘이다. *재귀와 스택 관련 내용은 아래 링크에서 확인하기. https://ko.javascript.info/recursion 재귀와 스택 ko.javascript.info 곧바로 풀이로 넘어간다. 풀이는 다음 링크를 참고해 풀었다. 풀이를 소개하기 전, 먼저 설정해야 할 조건이 하나 있다. 본 풀이..

정글사관학교 6일차 TIL: 재귀, 정렬 알고리즘

오늘은 총 7 문제를 풀었다. 어제 하루만에 스무 문제 넘게 풀었던 것에 비하면 아쉬운 성적표다(난이도는 어제가 낮긴 했다.) 하루종일 발목을 붙잡았던 문제는 N-Queen 문제와 수 정렬하기 3 이 두 문제였다. 각각 재귀, 정렬 알고리즘으로 푸는 문제다. 1. 재귀 알고리즘 어떤 이벤트에서 자기 자신을 포함하고 다시 자기 자신을 사용하여 정의될 때 이를 '재귀(recursion)'라고 한다. 이 개념을 활용하면 계속해서 자신이 반복되는 이벤트를 명료하고 간단하게 정의할 수 있다. 예시로 자연수의 정의를 보자. - 1은 자연수이다. - 어떤 자연수의 바로 다음 수도 자연수다. 여기까지만 보면 간단해 보이는데..N-Queen 문제는 쉽게 와닿지 않더라. 하노이의 탑까지도 어찌어찌 해냈다만 N-Queen은..