본문 바로가기

[프로그래머스(완전탐색)] 수포자
[BOJ_9663] 백트래킹 (N-Queen) 백트래킹 기본적으로 백트래킹은 '가능한 모든 방법을 탐색한다' 는데 기본 아이디어가 있다. 대표적인 완전 탐색 방법으로는 DFS (Depth First Search, 깊이 우선 탐색) 이 있다. DFS 는 현재 지점에서 방문할 곳이 있으면 재귀 호출을 이용해서 계속 이동한다. DFS 의 장점은 무한히 깊은곳을 찾아야할때 효과적이다. 하지만 DFS 는 모든곳을 방문하기 때문에 굳이 목표지점이 있지 않는 경로로 빠져서 비효율적인 결과를 초래할수도 있다. 그래서 이와 같은 비효율적인 경로를 차단하고 목표지점에 갈수있는 가능성이 있는 루트를 검사하는 방법이 백트래킹 알고리즘이다. 백트래킹은 DFS에 가지치기 (Pruning) 를 통해 가도되지 않는 루트는 고려하지 않고 탐색하는 완전탐색 기법이다. 가지치기를 얼..
[BOJ_11792] 하노이탑 ** 하노이탑 마인드 1. 가장 밑 원반을 옮기기 전에 그 위 n-1개의 원반을 빈 곳(=미드) 로 옮긴다. (단,미드는 매번 바뀐다) 2. 그리고 가장 밑 원반을 옮긴다. 3. 그리고 n-1개의 원반을 목적지로 옮긴다. 이 과정을 반복과 스택 (=재귀) 옛날에 한화시스템에서도 나온 문제이므로 암기하는게 좋을거 같다~ 고생혀따 준우
[BOJ_2231] 분해합
[알고리즘] 재귀 (recursive) 에 대한 이해 github.com/okay4u/algorithm/blob/main/%EC%9E%AC%EA%B7%80%ED%98%B8%EC%B6%9C_20210223.pdf okay4u/algorithm Contribute to okay4u/algorithm development by creating an account on GitHub. github.com
[알고리즘] cstring (pro01 ~ pro08) 팰린드롬 문제를 풀면서 문자열에 대한 이해가 많이 부족한 것 같아서 문자열에 대한 정리를 해보려고 한다. ok4u.tistory.com/54 [Algorithm] fgets ◈ fgets(str,size,stdin) str ? 읽어들인 문자열을 저장할 char 배열을 가리키는 포인터입니다. size ? 마지막 NULL 문자를 포함하여, 읽어들일 최대 문자 수. #include int main(void) { char name[100]; printf.. ok4u.tistory.com 1. Happy Birthday => yadhtriB yppaH 문자열을 가리키는 포인터 변수를 선언하여 선언한 포인터 변수에 주소값을 바꿔주며 출력하면 된다. 2. 대소문자 변환 3. 공백문자 제거 1. str[j] = '\0..
[알고리즘] 우선순위 큐 (최소힙, 최대힙) soooprmx.com/archives/5121 우선순위 큐 혹은 최소/최대힙 · Wireframe 우선순위 큐 (priority queue)는 큐와 비슷하게 뒤쪽으로 원소를 삽입하고 앞쪽으로 꺼낼 수 있는 자료 구조이다. 하지만 각 원소는 내부적으로 논리적인 우선순위 값을 가지고 있고, 따라서 선입선 www.soooprmx.com 각 원소는 내부적으로 논리적인 우선순위 값을 가지고 있고, 따라서 선입선출(FIFO)의 규칙에 의해서 나오는 것이 아니라, 큐 내부에서는 높은 우선순위를 갖는 원소가 앞쪽으로 오게 된다. 즉, 큐와 마찬가지로 원소를 꺼낼 때는 앞에서부터 꺼내게 되는데, 이 순서가 큐 내부에서의 우선순위 순과 일치하게 되는 것이다. 일종의 자동으로 정렬되는 큐라고 생각하면 된다. 간단히 생각해..
[BOJ_2581] 소수 (기본수학2)