[알고리즘]#4_분할-정복 알고리즘 분할-정복 알고리즘에 대해 알아보겠습니다. Overview 개념 예제 #0. 개념 1. 분할 정복 알고리즘 분할 정복 알고리즘은 먼저 전체 문제를 원래 문제와 유사하지만 크기가 더 작은 몇 개의 부분 문제로 "분할"하여 재귀적으로 해결합니다. 그리고, 분할된 부분 문제들에서 찾은 해를 결합하여 원래 문제의 해를 찾아내는 알고리즘 방법론입니다. 일반적으로, 분할-정복 알고리즘은 다음 세 가지 단계로 구성됩니다. (1) 분할 : 현재 문제를 같은 문제를 다루는 다수의 부분 문제로 분할한다.(2) 정복 : 이렇게 분할된 부분 문제들을 재귀적으로 해결합니다. 분할된 부분 문제들의 크기가 충분히 작다면(Base Case) 직접적인 방법으로 해를 찾아냅니다. (3) 결합 : 부분..
C++
#1. 개념 1. 정렬 알고리즘 [정의] : 정렬 알고리즘은 데이터를 특정한 순서로 재배치하는 알고리즘입니다. 정렬 순서는 일반적으로 오름차순(ascending order/less) 또는 내림차순(descending order/greater)으로 정렬되며, 정렬된 데이터는 효율적인 검색, 삽입, 삭제 등의 연산을 가능케 합니다. [종류] 1. 삽입 정렬 : 배열을 순회하며, 현재 원소를 이미 정렬된 부분 배열과 비교하며 적절한 위치에 삽입 2. 선택 정렬 : 배열에서 가장 작은 원소를 선택해, 정렬되지 않은 부분의 첫 번째 원소와 교환 3. 버블 정렬 : 배열의 인접한 두 원소를 비교하여 정렬 4. 병합 정렬 : 분할-정복을 기반으로 배열을 두 부분 배열로 분할하여 정렬하고, 병합 5. 퀵 정렬 : 분할..
[BOJ알고리즘, C++]#5430_AC BOJ 알고리즘 문제 풀이, 5430번 문제 AC deque 컨테이너를 활용하는 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 #1. 풀이 1. 양방향 큐 양방향 큐는 데이터 목록의 양쪽 끝에서 데이터의 삽입과 삭제가 모두 가능한 큐 자료구조의 한 종류입니다. 양방향 큐는 양쪽 끝에서 데이터의 삽입과 삭제가 모두 가능해 크기가 유연하며, 슬라이딩 윈도우 알고리즘 혹은 양쪽에서 접근해야 하는 큐 기반의 문제 등에 활용됩니다. 2. deque 컨테이너 [Basic C++] #68_deque [Basic C++] #68_deque C++의 STL에서 제공하는 deque 컨테이너에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제..
[BOJ알고리즘, C++]#10866_덱 BOJ 알고리즘 문제 풀이, 10866 문제 덱 deque 컨테이너를 활용하는 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 #1. 풀이 1. 양방향 큐 양방향 큐는 데이터 목록의 양쪽 끝에서 데이터의 삽입과 삭제가 모두 가능한 큐 자료구조의 한 종류입니다. 양방향 큐는 양쪽 끝에서 데이터의 삽입과 삭제가 모두 가능해 크기가 유연하며, 슬라이딩 윈도우 알고리즘 혹은 양쪽에서 접근해야 하는 큐 기반의 문제 등에 활용됩니다. 2. deque 컨테이너 [Basic C++] #68_deque [Basic C++] #68_deque C++의 STL에서 제공하는 deque 컨테이너에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 ..
[Basic C++] #69_priority_queue C++의 STL에서 제공하는 priority_queue컨테이너에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 #0. 개념 1. 우선순위 큐? [자료구조]#7_우선순위 큐 [자료구조]#7_우선순위 큐 우선순위 큐 자료구조에 대해 알아보겠습니다. Overview 개념 구현 참고 #0. 개념 1. 우선순위 큐 정의 : 우선순위 큐(Priority Queue)는 원소들이 우선순위에 따라 정렬된 연결 webddevys.tistory.com 우선순위 큐는 각 원소에 우선순위를 할당하여, 가장 높은 우선순위를 갖는 원소가 다른 원소보다 먼저 처리되는 자료구조입니다. 우선순위 큐는 가장 높은 우선순위를 갖는 원소가 맨 앞에 위치하며, 우선순위 ..
[BOJ알고리즘, C++]#18258_큐 2 BOJ 알고리즘 문제 풀이, 18258번 문제 큐 2 STL의 queue컨테이너를 활용하는 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 #1. 풀이 1. 큐 [자료 구조]#0_선형 자료구조 [자료 구조] #0_선형 자료구조 선형 자료구조에 대해 알아보겠습니다. Overview 개념 스택 큐 원형 큐 배열 벡터 리스트 이중 연결 리스트 #0. 개념 1. 선형 자료구조? 선형 자료구조는 데이터를 일렬 webddevys.tistory.com 큐는 먼저 삽입된 데이터가 먼저 삭제되는 FIFO(First In First Out) 방식으로 동작하는 선형 자료구조입니다. 데이터 목록의 한쪽에서만(top) 접근이 가능한 스택과 달리, 큐는 데이터..
[BOJ알고리즘, C++]#1021_회전하는 큐 BOJ 알고리즘 문제 풀이, 1021번 문제 회전하는 큐 deque 컨테이너를 활용하는 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 #1. 풀이 1. 덱 [자료 구조]#0_선형 자료구조 [자료 구조] #0_선형 자료구조 선형 자료구조에 대해 알아보겠습니다. Overview 개념 스택 큐 원형 큐 배열 벡터 리스트 이중 연결 리스트 #0. 개념 1. 선형 자료구조? 선형 자료구조는 데이터를 일렬 webddevys.tistory.com [Basic C++] #68_deque [Basic C++] #68_deque C++의 STL에서 제공하는 deque 컨테이너에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 #0...
[Basic C++] #67_queue C++의 STL에서 제공하는 queue 컨테이너에 대해 알아보겠습니다. Overview 개념 선언 멤버 함수 예제 #0. 개념 1. 큐 [자료 구조]#0_선형 자료구조 [자료 구조] #0_선형 자료구조 선형 자료구조에 대해 알아보겠습니다. Overview 개념 스택 큐 원형 큐 배열 벡터 리스트 이중 연결 리스트 #0. 개념 1. 선형 자료구조? 선형 자료구조는 데이터를 일렬 webddevys.tistory.com 큐는 먼저 삽입된 데이터가 먼저 삭제되는 FIFO(First In First Out) 혹은 선입선출 방식으로 작동합니다. 데이터 목록의 한쪽 끝에서는 데이터의 삽입만 이루어지며, 다른 한쪽 끝엔서는 데이터의 삭제 작업만 이루어집니다. #1. 선언 1. 헤..
#1. 개념 1. 길 찾기 알고리즘[정의] : 길 찾기 알고리즘은 그래프 자료구조에서 출발점에서 도착점 사이의 경로를 탐색하는 알고리즘입니다. 노드와 노드 간 연결 관계를 나타내는 간선으로 구성된 그래프에서 최단 경로 혹은 특정 조건을 만족하는(최소 신장 트리, etc) 경로를 찾는 데 사용됩니다. 다양한 종류의 길 찾기 알고리즘이 있으며, 알고리즘의 선택은 그래프의 크기, 가중치의 종류, 실행 시간 제약 등을 고려합니다. 따라서, 알고리즘의 특징과 제약 사항 등을 이해해야 주어진 문제에 가장 적합한 알고리즘을 선택할 수 있습니다.[종류]1. "단일 출발(single-source)" : 주어진 단일 노드 v로부터 다른 모든 노드 사이의 최단 경로를 찾는 문제 2. "단일 쌍(single-pair)" :..
[BOJ알고리즘, C++]#2164_카드 2 BOJ 알고리즘 문제 풀이, 2164번 카드 2 문제 queue 컨테이너를 활용하는 방법에 대해 알아보겠습니다. Overview 문제 풀이 코드 #0. 문제 1. 문제 #1. 풀이 1. 큐 [자료 구조]#0_선형 자료구조 [자료 구조] #0_선형 자료구조 선형 자료구조에 대해 알아보겠습니다. Overview 개념 스택 큐 원형 큐 배열 벡터 리스트 이중 연결 리스트 #0. 개념 1. 선형 자료구조? 선형 자료구조는 데이터를 일렬 webddevys.tistory.com 큐는 선입선출(FIFO) 방식으로 동작하는 선형 자료구조입니다. 데이터 목록의 한쪽 끝에서는 데이터의 삽입만 이루어지며, 다른 한쪽은 데이터의 삭제 작업만 이루어집니다. 데이터 목록의 한쪽에서만(..