# Algorithm

    숫자판 점프 / 백준 (Baekjoon) / 2210

    숫자판 점프 / 백준 (Baekjoon) / 2210 ** 여기서 다루는 알고리즘 문제는 저의 창작 문제가 아닐 경우, 저작권 관련 문제를 방지하고자, 문제의 대략적인 설명 및 요구사항만 소개하고 있습니다. ** 이 공간에서 공유되는 풀이 및 Source code는 제 개인의 학습 목적이며, 당연히 최선의 정답이 아닙니다. ** 혹시 더 나은 방법이나 아이디어가 있으신 경우에는, 댓글에 의견을 공유해주시면 감사하겠습니다.** Source code는 C 언어로 작성되었습니다. 알고리즘 분류 및 개요 - Backtracking (백트래킹) Input / output입력 다섯 개의 줄에 다섯 개의 정수로 숫자판이 주어진다. 출력 첫째 줄에 만들 수 있는 수들의 개수를 출력한다. 주의 사항case가 5 * 5 ..

    좋은수열 / 백준 (Baekjoon) / 2661

    좋은수열 / 백준 (Baekjoon) / 2661 ** 여기서 다루는 알고리즘 문제는 저의 창작 문제가 아닐 경우, 저작권 관련 문제를 방지하고자, 문제의 대략적인 설명 및 요구사항만 소개하고 있습니다. ** 이 공간에서 공유되는 풀이 및 Source code는 제 개인의 학습 목적이며, 당연히 최선의 정답이 아닙니다. ** 혹시 더 나은 방법이나 아이디어가 있으신 경우에는, 댓글에 의견을 공유해주시면 감사하겠습니다. ** Source code는 C 언어로 작성되었습니다. 알고리즘 분류 및 개요 - Backtracking (백트래킹) Input / output입력 입력은 숫자 N하나로 이루어진다. N은 1 이상 80 이하이다. 출력 첫 번째 줄에 1, 2, 3으로만 이루어져 있는 길이가 N인 좋은 수열들..

    N Queen 문제 최적화 (Backtracking)

    N Queen 문제 최적화 (Backtracking)

    N Queen 문제 최적화 (Backtracking) ** 여기서 다루는 알고리즘 문제는 저의 창작 문제가 아닐 경우, 저작권 관련 문제를 방지하고자, 문제의 대략적인 설명 및 요구사항만 소개하고 있습니다. ** 이 공간에서 공유되는 풀이 및 Source code는 제 개인의 학습 목적이며, 당연히 최선의 정답이 아닙니다. ** 혹시 더 나은 방법이나 아이디어가 있으신 경우에는, 댓글에 의견을 공유해주시면 감사하겠습니다.** Source code는 C 언어로 작성되었습니다. 알고리즘 분류 및 개요 - Backtracking / Branch and pruning Input / output - 입력 N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주..

    백트래킹 (Backtracking)

    백트래킹 (Backtracking)

    백트래킹 (Backtracking) ** 아래 포스팅 내용 관련하여, 더 나은 방법이나 아이디어가 있으신 경우에는 댓글에 의견을 공유해주시면 감사하겠습니다. ** Source code는 C 언어로 작성되었습니다. 백트래킹(Backtracking)의 특징 백트래킹은 말 그대로 '역추적'을 의미합니다. 문제 해결을 위한 모든 경우의 수를 따져보기 위해서 (완전 검색 (Exhaustive search), 실제로 모든 케이스를 다 직접 확인한다는 의미는 아니지만) 일반적으로 활용되는 기법 중 하나입니다. 백트래킹은 우선 어떤 하나의 가능한 케이스를 확인하고, 가능하지 않다면 다시 Back하고, 다시 다른 가능성있는 케이스를 확인하면서 Solution이 도출될 때까지 이런 과정이 계속적으로 반복되도록 구현하게 됩..

    단지번호붙이기 / 백준 (Baekjoon) / 2667

    단지번호붙이기 / 백준 (Baekjoon) / 2667 ** 여기서 다루는 알고리즘 문제는 저의 창작 문제가 아닐 경우, 저작권 관련 문제를 방지하고자, 문제의 대략적인 설명 및 요구사항만 소개하고 있습니다. ** 이 공간에서 공유되는 풀이 및 Source code는 제 개인의 학습 목적이며, 당연히 최선의 정답이 아닙니다. ** 혹시 더 나은 방법이나 아이디어가 있으신 경우에는, 댓글에 의견을 공유해주시면 감사하겠습니다.** Source code는 C 언어로 작성되었습니다. 알고리즘 분류 및 개요 - 너비 우선 탐색 (BFS, Breadth First Search) Input / output- 입력 첫 번째 줄에는 지도의 크기 N(정사각형이므로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그..

    미로 탐색 / 백준 (Baekjoon) / 2178

    미로 탐색 / 백준 (Baekjoon) / 2178 ** 여기서 다루는 알고리즘 문제는 저의 창작 문제가 아닐 경우, 저작권 관련 문제를 방지하고자, 문제의 대략적인 설명 및 요구사항만 소개하고 있습니다. ** 이 공간에서 공유되는 풀이 및 Source code는 제 개인의 학습 목적이며, 당연히 최선의 정답이 아닙니다. ** 혹시 더 나은 방법이나 아이디어가 있으신 경우에는, 댓글에 의견을 공유해주시면 감사하겠습니다.** Source code는 C 언어로 작성되었습니다. 알고리즘 분류 및 개요 - 너비 우선 탐색 (BFS, Breadth First Search) Input / output- 입력 첫째 줄에 두 정수 N, M(2≤N, M≤100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어..

    토마토 / 백준 (Baekjoon) / 7576

    토마토 / 백준 (Baekjoon) / 7576 ** 여기서 다루는 알고리즘 문제는 저의 창작 문제가 아닐 경우, 저작권 관련 문제를 방지하고자, 문제의 대략적인 설명 및 요구사항만 소개하고 있습니다. ** 이 공간에서 공유되는 풀이 및 Source code는 제 개인의 학습 목적이며, 당연히 최선의 정답이 아닙니다. ** 혹시 더 나은 방법이나 아이디어가 있으신 경우에는, 댓글에 의견을 공유해주시면 감사하겠습니다. ** Source code는 C 언어로 작성되었습니다. 알고리즘 분류 및 개요 - 너비 우선 탐색 (BFS, Breadth First Search) Input / output- 입력 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N 은 상자의 세로..

    너비 우선 탐색 (BFS, Breadth First Search)

    너비 우선 탐색 (BFS, Breadth First Search)

    너비 우선 탐색 (BFS, Breadth First Search) ** 아래 포스팅 내용 관련하여, 더 나은 방법이나 아이디어가 있으신 경우에는 댓글에 의견을 공유해주시면 감사하겠습니다. ** Source code는 C 언어로 작성되었습니다. 그래프 순회 (Traversal) 알고리즘 : 너비 우선 탐색 (BFS) 그래프 순회 알고리즘이란, 그래프 상에 표시된 모든 지점 (node) 들을 방문해야 하는 경우 사용되는 알고리즘을 의미합니다. 요구 사항이나 그래프 형태, 각 노드의 가중치나 특성에 따라서 순회 알고리즘의 세부 구현 방식은 달라질 수 있습니다. 그러나 그래프 순회 알고리즘에서 공통적으로 가장 중요한 것은 한 번 방문한 node를 다시 방문하지 않도록 표시하는 것입니다. 이 부분이 잘못 처리될 ..

    알고리즘 계산 시간 측정

    알고리즘 계산 시간 측정

    알고리즘 계산 시간 측정 (clock() @ time.h) ** 아래 포스팅 내용 관련하여, 더 나은 방법이나 아이디어가 있으신 경우에는 댓글에 의견을 공유해주시면 감사하겠습니다.** Source code는 C 언어로 작성되었습니다. 시간 복잡도 (Time complexity) 알고리즘의 연산시간은 알고리즘의 효율성을 확인하는 대표적인 지표 중 하나로 자주 활용됩니다. 어떤 알고리즘이 다른 알고리즘보다 동일한 문제를 더 빠른 시간내에 해결할 수 있다면, 그 알고리즘이 속도면에서만큼은 다른 알고리즘 보다 더 효율적으로 구현되었다는 것을 의미합니다. 계산 복잡도이론에서 시간 복잡도 (Time complexity) 는 문제를 해결하는데 걸리는 시간과 입력의 함수 관계를 가리킨다. (중략) 시간 복잡도는 기본적..