CHUCK CHUCK 박사

잼잼 개발자

[Algorithm] Trees / Graphs - Breadth-First Search (BFS)

트리 / 그레프 너비 우선 탐색

Breadth-First Search (BFS)? 너비 우선 탐색(Breadth-First Search, BFS)는 그래프 또는 트리에서 탐색을 할 때 사용하는 알고리즘 중 하나입니다. BFS는 시작 노드에서 가까운 노드부터 차례대로 탐색하는 방식으로, 깊이보다 넓이를 우선적으로 탐색합니다. 이때 큐(Queue) 자료구조를 사용하여...

[Algorithm] Trees / Graphs - Depth-First Search (DFS)

트리 / 그레프 깊이 우선 탐색

Depth-First Search, DFS? 깊이 우선 탐색(DFS)은 그래프 또는 트리에서 한 노드에서 시작하여 가능한 한 깊이까지 탐색한 후, 더 이상 진행할 수 없으면 되돌아가면서 탐색하는 방법입니다. 주로 스택 자료구조(또는 재귀 호출)를 사용하여 구현되며, 그래프의 모든 노드를 방문하거나 경로를 찾을 때 많이 사용됩니다. ...

[FRONT] Story book설치 및 사용하기

스토리북을 적용해보자

[FRONT] [FRONT] 프론트엔드 쿠키 이슈 해결하기 [FRONT] Nuxt Proxy 설정과 활용 [FRONT] 웹 캐시 전략과 구현 [FRONT] Next.js와 Nuxt.js 비교 분석 [FRONT] Monorepo vs Multi-repo vs Monolith 아키텍처 [FRONT] mitmproxy를 활용한 디버...

[Algorithm] Sorting - Radix Sort

정렬 기수 정렬

Radix Sort? 기수 정렬(Radix Sort)은 비교 기반이 아닌 정렬 알고리즘으로, 숫자를 자릿수별로 정렬합니다. 가장 낮은 자릿수(LSD) 또는 가장 높은 자릿수(MSD)부터 시작하여 각 자릿수의 값을 기준으로 그룹화합니다. 각 자릿수를 처리하기 위해 보통 계수 정렬(Counting Sort) 또는 버킷 정렬(Bucket...

[Algorithm] Sorting - Counting Sort

정렬 계수 정렬

Counting Sort? 카운팅 정렬(Counting Sort)은 비교 기반이 아닌 정렬 알고리즘으로, 정수나 정수로 표현할 수 있는 데이터를 정렬하는 데 사용됩니다. 이 알고리즘은 입력 배열의 각 고유 요소의 발생 빈도를 세고, 이를 기반으로 각 요소를 출력 배열의 정확한 위치에 배치하는 방식으로 작동합니다. 고유 값들의 빈도를...

[Algorithm] Sorting - Shell Sort

정렬 쉘 정렬

Shell Sort? 셸 정렬(Shell Sort)은 삽입 정렬(Insertion Sort)의 개선된 버전으로, 멀리 떨어진 요소들끼리 비교하고 교환하는 방식으로 배열을 정렬하는 알고리즘입니다. 이 알고리즘은 점점 더 짧은 간격으로 요소들을 비교하면서 정렬해 나가다가 마지막 단계에서는 삽입 정렬을 수행하여 전체 배열을 정렬합니다. ...

[GIT] Git push RPC HTTP400에러 해결하기

Git: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400

이슈 깃 푸시하면 에러 발생? 1 2 $ git push Git: RPC failed; HTTP 400 curl 22 The requested URL returned error: 400 원인 및 해결방안 1. 잘못된 리포지토리 URL 원인: 원격 저장소의 URL이 잘못되었거나 변경되었을 수 있습니다. 해결 방법: ...

[Algorithm] Sorting - Quick Sort

정렬 퀵 정렬

Quick Sort? 퀵 정렬(Quicksort)은 분할 정복(Divide and Conquer) 알고리즘 중 하나로, 매우 효율적인 정렬 알고리즘 중 하나입니다. 기본 아이디어는 배열에서 피벗(pivot)을 하나 선택한 후, 피벗보다 작은 값들은 왼쪽 부분 배열로, 큰 값들은 오른쪽 부분 배열로 나눈 후 각각을 재귀적으로 정렬하는...

[Algorithm] Sorting - Merge Sort

정렬 병합 정렬

Merge Sort? 병합 정렬(Merge Sort)은 분할 정복(divide and conquer) 알고리즘의 대표적인 예로, 리스트를 재귀적으로 절반으로 나누어 각각을 정렬한 후 다시 병합하여 전체를 정렬하는 방식으로 작동합니다. 병합 정렬은 안정적인 정렬 알고리즘으로, 최악, 평균, 최선의 시간 복잡도가 모두 O(n log n...

[Algorithm] Sorting - Heap Sort

정렬 힙 정렬

Heap Sort? 힙 정렬(Heap Sort)은 이진 힙(binary heap) 자료 구조를 사용한 정렬 알고리즘입니다. 먼저 주어진 배열을 최대 힙(Max-Heap)으로 변환한 후, 가장 큰 값을 배열의 끝으로 보내고 나머지 힙을 다시 정렬하는 과정을 반복하여 정렬을 수행합니다. 힙 정렬은 비교 기반의 정렬 알고리즘이며, 항상 ...