#1. 문제 #2. 풀이 1. BFS(너비 우선 탐색) [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com [정의] : BFS(너비 우선 탐색)은 그래프의 모든 노드를 탐색하는 방법 중 하나입니다. [특징] : BFS는 현재 상태에서 가장 인접한 정점들을 우선적으로 탐색하는 방법입니다. [동작 방식] : BFS는 큐를 활용하여 구현 가능합니다. 큐 2. 현재 정점의 방문 순서 기록하기 입력받은 간선 정보를 2차원 벡터에 저장하고, 각 항목에 저장된 vector 컨테이너를 오름차순 정렬합니다. BFS를 수..
분류 전체보기
#1. 문제 #2. 풀이 1. DFS(깊이 우선 탐색) [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com [정의] : 깊이 우선 탐색은 그래프의 모든 정점을 탐색하는 방법 중 하나입니다. [특징] : 깊이 우선 탐색은 한 노드에서 시작해 그래프의 깊은 부분을 우선적으로 탐색하는 방법입니다. [동작 방식] : DFS는 일반적으로 재귀적으로 호출하는 방법과 스택을 활용하는 방법이 있습니다. 재귀적 호출 스택 2. 정점을 방문할 때마다 순서를 기록하자 먼저, 주어진 간선 정보를 저장하고, 인접 정점들을 오름..
#1. 문제 #2. 풀이 1. 이분 탐색 [알고리즘]#1_이분 탐색(Binary Search) [알고리즘]#1_이분 탐색(Binary Search) 이분 탐색/이진 탐색 알고리즘에 대해 알아보겠습니다. #0. 개념 1. 이분 탐색? [정의] : 이분 탐색(Binary Search)은 정렬된 배열에서 특정한 값을 찾는 데에 사용되 webddevys.tistory.com [정의] : 이분 탐색은 정렬된 데이터 목록에서 특정 값을 찾는 데 사용되는 탐색 알고리즘입니다. [특징] : 데이터 목록이 정렬된 상태일 때, 활용 가능한 알고리즘입니다. [동작 방식] 배열의 시작 지점을 가리키는 포인터, 배열의 마지막 지점을 가리키는 포인터, 두 개의 포인터 초기화 두 개의 포인터가 지정하는 부분 배열의 중간 위치를 구..
#1. 문제 #2. 풀이 1. DFS [자료구조]#6_그래프 #0. 개념 1. 그래프? [정의] : 그래프는 노드와 간선들의 집합으로 이루어진 비 선형 자료구조입니다. 그래프의 노드들은 간선을 통해 연결되어 일종의 네트워크를 형성합니다. 그래프는 노드와 webddevys.tistory.com [정의] : DFS(깊이 우선 탐색)은 그래프 내 모든 정점을 탐색하는 방법 중 하나입니다. [특징] : DFS는 현재 정점을 기준으로 깊은 탐색을 우선적으로 진행하고, 다음 인접 정점에 대한 깊이 탐색을 진행. [구현] 재귀 호출 스택 2. 두 개의 DFS - 양수에 대한 재귀 DFS, 음수에 대한 재귀 DFS numbers 목록의 첫 번째 정점을 시작으로 양수 값에 대한 DFS와 음수 값에 대한 DFS를 호출합니..
#1. 문제 #2. 풀이 1. a와 b를 1을 더해주고 2로 계속 나눠준다. (a+1)/2와 (b+1)/2 하며 a와 b가 서로 같을 때까지 그 횟수를 카운트합니다. a와 b는 매번 이기며 토너먼트를 올라가며, 새로운 라운드에 가서 (a+1)/2 혹은 (b+1)/2 번호를 부여받기 때문입니다. #3. 코드 #include #include using namespace std; int solution(int n, int a, int b) { int answer = 0; // #1. a와 b의 참가자 번호가 같을 때 까지 2를 나누어준다. while(a != b) { // a가 첫 번째 부여받은 번호가 4라면, 다음 라운드에서 2를 부여받는다. a = (a+1)/2; // b가 첫 번째 부여받은 번호가 7라면..
#1. 문제 #2. 풀이 1. 투 포인터 알고리즘 [알고리즘]#7_투 포인터 #1. 개념 1. 투 포인터 [정의] : '투 포인터' 알고리즘은 배열 또는 리스트에서 두 개의 포인터를 활용해 원하는 조건을 만족하는 부분을 찾는 알고리즘입니다. [특징] : '투 포인터' 알고리즘은 일 webddevys.tistory.com [정의] : '투 포인터' 알고리즘은 두 개의 포인터를 활용해 원하는 조건을 만족하는 부분을 찾는 알고리즘입니다. [특징] : '투 포인터' 알고리즘은 일반적으로 정렬된 배열 혹은 리스트에서 활용합니다. [동작 방식] 배열의 시작 지점을 가리키는 포인터, 그리고 끝 지점을 가리키는 포인터, 두 개의 포인터를 초기화합니다. 두 포인터가 움직이며 주어진 조건을 만족하는지 검사합니다. 조건을 ..
#1. 개념 1. 투 포인터[정의] : '투 포인터' 알고리즘은 두 개의 포인터를 활용해 원하는 조건을 만족하는 부분을 찾는 알고리즘입니다.[특징] : '투 포인터' 알고리즘은 일반적으로 정렬된 배열 혹은 리스트에서 활용합니다. 그러나, 정렬되지 않은 뱅려에도 활용 가능한 알고리즘이라는 것을 명심해야합니다.[동작 방식] 배열의 시작 지점을 가리키는 포인터, 그리고 끝 지점을 가리키는 포인터, 두 개의 포인터를 초기화합니다.두 포인터가 움직이며 주어진 조건을 만족하는지 검사합니다.조건을 만족할 경우, 원하는 동작을 수행하고, 조건을 만족하지 못할 경우, 포인터를 이동시킵니다.원하는 결과 값을 얻을 때까지, 2~3번 동작을 반복합니다. #2. 예제 1. 연속된 부분 수열의 합 [Programmers]#Le..
[BOJ알고리즘, C++]#5639_이진 검색 트리 BOJ 알고리즘 문제 풀이, 5639번 문제 "이진 검색 트리" 이진 탐색 트리의 전위순회 결과를 통해 후위순회 결과를 구하는 방법 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. 트리 [자료구조]#5_트리 [자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? [정의] : 트리는 1:n 관계의 webddevys.tistory.com [정의] : 트리는 1:n 관계의 계층 구조를 갖는 비 선형 자료구조입니다. 트리는 노드와 노드 간 연결관계를 표현하는 간선으로 이루어져 있습니다. [특징] : 트리의..
[BOJ알고리즘, C++]#2263_트리의 순회 BOJ 알고리즘 문제 풀이, 2263번 문제 "트리의 순회" 트리의 순회 방법에 대해 공부하고, 후위순회와 중위순회를 통해 전위순회를 구하는 방법 Overview 문제 풀이 코드 #1. 문제 #2. 풀이 1. 트리 [자료구조]#5_트리 [자료구조]#5_트리 트리 자료구조에 대해 알아보겠습니다. Overview 개념 이진트리 순회 이진 탐색 트리 균형 이진트리 AVL 트리 레드-블랙 트리 Map, Set 힙 #0. 개념 1. 트리? [정의] : 트리는 1:n 관계의 webddevys.tistory.com [정의] : 트리는 1:n 관계의 계층 구조를 갖는 비 선형 자료구조입니다. 트리는 노드와 노드 간 연결관계를 표현하는 간선으로 이루어져 있습니다. [특징]..
[Unreal]#25_Collision Data Unreal Engine의 Collision Data에 대해 알아보겠습니다. Overview 개요 Collision Setting Collision Query FCollisionResponseParams 예제 #1. 개요 1. Unreal Engine의 Collision Setting Details 위 영상을 참조해 Unreal Engine의 Collision Setting에 대해 알아보고, 이를 관리하는 방법에 대해 리뷰합니다. #2. 콜리전 세팅 1. Collision Data Details Unreal Engine에서 Collision Data(충돌 정보)는 Collision Geometry와 객체의 충돌 속성 등을 의미합니다. 이러한 Collisio..