{"componentChunkName":"component---src-templates-tags-js","path":"/tags/algorithm/","result":{"data":{"site":{"siteMetadata":{"title":"Bottlehs Tech Blog"}},"allMarkdownRemark":{"totalCount":13,"nodes":[{"excerpt":"…","fields":{"slug":"/algorithm/고급-알고리즘-완전정복-세그먼트-트리부터-위상정렬까지/"},"frontmatter":{"date":"2025년 11월 15일","title":"고급 알고리즘 완전정복 - 세그먼트 트리부터 위상정렬까지","description":"코딩 테스트와 실무에서 자주 사용되는 고급 알고리즘을 완벽 정리. 세그먼트 트리, 펜윅 트리, 유니온 파인드, 최소 공통 조상(LCA), 강한 연결 요소(SCC), 위상 정렬, 최소 신장 트리(MST), 최대 유량 등 실전 문제 해결에 필요한 모든 알고리즘을 JavaScript로 구현합니다."}},{"excerpt":"퀵 정렬 (Quick Sort) 퀵 정렬은 분할 정복 방식으로 평균적으로 O(n log n…","fields":{"slug":"/algorithm/퀵-정렬-quick-sort/"},"frontmatter":{"date":"2025년 11월 6일","title":"퀵 정렬 (Quick Sort)","description":"퀵 정렬은 분할 정복 알고리즘으로 평균적으로 매우 빠른 정렬 알고리즘이다. 피벗을 선택해 기준으로 삼고, 작은 값과 큰 값을 분할해 재귀적으로 정렬한다."}},{"excerpt":"KMP 알고리즘 (Knuth-Morris-Pratt) KMP…","fields":{"slug":"/algorithm/kmp-알고리즘-kmp-algorithm/"},"frontmatter":{"date":"2025년 11월 1일","title":"KMP 알고리즘 (Knuth-Morris-Pratt)","description":"문자열 검색을 효율적으로 수행하는 알고리즘. 실패 함수(Failure Function)를 이용해 불필요한 비교를 건너뛰며, 시간복잡도는 O(N+M)이다."}},{"excerpt":"벨만-포드 알고리즘 (Bellman-Ford…","fields":{"slug":"/algorithm/벨만-포드-bellman-ford/"},"frontmatter":{"date":"2025년 11월 1일","title":"벨만-포드 알고리즘 (Bellman-Ford)","description":"음수 가중치가 있는 그래프에서 최단 경로를 구할 수 있는 알고리즘. 음수 사이클 감지도 가능하며, 시간복잡도는 O(VE)이다."}},{"excerpt":"병합 정렬 (Merge Sort) 병합 정렬은 배열을 반으로 나누고 재귀적으로 정렬한 뒤 합치는 분할 정복 방식의 정렬 알고리즘이다. 정의 배열을 크기가…","fields":{"slug":"/algorithm/병합-정렬-merge-sort/"},"frontmatter":{"date":"2025년 11월 1일","title":"병합 정렬 (Merge Sort)","description":"분할 정복(Divide and Conquer) 기법을 사용하는 안정 정렬 알고리즘. 시간복잡도는 O(N log N)이며, 추가 공간이 필요하다."}},{"excerpt":"최장 공통 부분수열 (LCS) LCS는 두 문자열에서 공통으로 나타나는 부분수열 중 가장 긴 것을 찾는 동적 계획법 문제다. 정의 부분수열은 원래 문자열에서 일부 문자를 순서대로 선택한 것이다. 예를 들어 “ABCD”의 부분수열에는 “A”, “AC…","fields":{"slug":"/algorithm/최장-공통-부분수열-lcs/"},"frontmatter":{"date":"2025년 11월 1일","title":"최장 공통 부분수열 (LCS)","description":"두 문자열의 공통 부분수열 중 가장 긴 것을 찾는 동적 계획법 문제. 문자열 유사도 측정과 차이점 분석에 활용된다."}},{"excerpt":"트리 순회 (Tree Traversal…","fields":{"slug":"/algorithm/트리-순회-tree-traversal/"},"frontmatter":{"date":"2025년 11월 1일","title":"트리 순회 (Tree Traversal)","description":"이진 트리에서 노드를 방문하는 순서를 다르게 하는 세 가지 순회 방법. 전위, 중위, 후위 순회로 나뉘며 재귀 또는 스택으로 구현 가능하다."}},{"excerpt":"깊이 우선 탐색 (DFS) DFS…","fields":{"slug":"/algorithm/깊이우선탐색-depth-first-search/"},"frontmatter":{"date":"2025년 10월 30일","title":"깊이 우선 탐색 (Depth-First Search, DFS)","description":"그래프에서 한 경로를 가능한 깊게 따라간 뒤, 더 갈 곳이 없으면 되돌아오는 탐색 방법. 재귀 또는 스택을 사용하며, 연결 요소 탐색과 위상 정렬 등에 활용된다."}},{"excerpt":"너비 우선 탐색 (BFS) BFS…","fields":{"slug":"/algorithm/너비우선탐색-breadth-first-search/"},"frontmatter":{"date":"2025년 10월 30일","title":"너비 우선 탐색 (Breadth-First Search, BFS)","description":"그래프에서 시작 정점으로부터 가까운 정점부터 차례대로 탐색하는 알고리즘. 최단 간선 수 경로 탐색에 유용하며 큐(Queue)를 사용한다."}},{"excerpt":"다익스트라 (Dijkstra) 다익스트라는 비음수 가중치 그래프에서 시작 정점으로부터 각 정점까지의 최단 거리를 구한다. 정의 가중치가 모두…","fields":{"slug":"/algorithm/다익스트라-dijkstra/"},"frontmatter":{"date":"2025년 10월 30일","title":"다익스트라 알고리즘 (Dijkstra)","description":"가중치가 모두 비음수인 그래프에서 한 시작 정점으로부터의 최단 경로를 구하는 알고리즘. 우선순위 큐(최소 힙)를 사용하면 효율적이다."}},{"excerpt":"이진 탐색 (Binary Search…","fields":{"slug":"/algorithm/이진-탐색-binary-search/"},"frontmatter":{"date":"2025년 10월 30일","title":"이진 탐색 (Binary Search)","description":"정렬된 배열에서 중간값을 기준으로 탐색 범위를 절반으로 줄여가며 값을 찾는 알고리즘. 시간복잡도는 O(log N)이다."}},{"excerpt":"최소 동전 수 (Coin Change, DP) 그리디로는 항상 최적을 보장하지 못하는 거스름돈 문제를, 동적 계획법으로 최적해로 해결한다. 정의 여러 종류의 동전으로 딱 맞게 금액 N…","fields":{"slug":"/algorithm/최소-동전수-dp-coin-change/"},"frontmatter":{"date":"2025년 10월 30일","title":"최소 동전 수 (Coin Change, DP)","description":"동적 계획법(DP)을 사용하여 특정 금액을 만들기 위한 최소 동전 개수를 구한다. 그리디가 항상 최적을 보장하지 않는 경우에도 최적해를 보장하는 방법이다."}},{"excerpt":"그리디 알고리즘 (Greedy Algorithm…","fields":{"slug":"/algorithm/그리디-알고리즘-greedy-algorithm/"},"frontmatter":{"date":"2021년 4월 4일","title":"그리디 알고리즘 (Greedy Algorithm)","description":"그리디 알고리즘, 탐욕 알고리즘 이라고도 부른다. 그리드 알고리즘은 최적해를 구하는 데에 사용되는 근사적인 방법으로, 여러 경우 중 하나를 결정해야 할 때마다 그 순간에 최적이라고 생각 되는것을 선택해 나가는 방식이다."}}]}},"pageContext":{"tag":"Algorithm"}},"staticQueryHashes":["213619243","3262363727"]}