A collection of 92 articles on programming, technology and life.
Concept 3개의 점 A, B, C를 한 직선으로 이었을 때 그 직선의 방향성을 구하는 알고리즘이다. 2차원, 3차원에 점들에 대해 CCW 알고리즘을 사용할 수 있다. CCW를 이용해 선분교차 여부를 파악할 수도 있고, Convex Hull 알고리즘을 구현할 수도 있다. CCW 0이면 반시계 방향이다. 연산 과정 밖에 없기 때문에 시간 복잡도는 O(1)이다. CCW 원리 Vector의 외적을 계산해 직선의 방향성을 알 수 있다. -
Concept '정렬되어 있는' 리스트에서 탐색 범위를 절반씩 줄여가며 탐색하는 방법이다. 기초적이고 강력한 알고리즘으로 탐색을 필요로 하는 다양한 상황에서 사용된다. 리스트의 길이가 n이라고 할 때 시간 복잡도는 $O(\log{n})$이다. Binary Search 원리 start(탐색 시작 위치)와 end(탐색 끝 위치), Target(탐색 값)을 Parameter로 가진다. start와 end의 중간 지점 $mid = \frac{(start + end)}{2}$로 정의하고 이 위치에 있는
Concept 노드 탐색 방법 중 하나로 임의의 노드에서 인접한 노드들을 먼저 탐색하는 방법을 말한다. 인접한 노드들을 먼저 탐색하기 때문에 FIFO(선입선출)형 자료구조인 Queue를 사용한다. 가중치에 따라 탐색 순서가 달라지는 도 있는데 이는 Prioirty Queue를 사용한다. 보통 Visited Array를 만들어 중복 탐색을 방지한다. 노드의 개수 $n$, 간선의 개수 $e$이라 할 때 시간 복잡도는 $O(n+e)$ BFS 동작 과정 ![BASE
Concept 무방향 그래프에서 특정 점 또는 선을 제거했을 때 한 개의 Conponent가 두 개 이상으로 증가하는 것을 뜻한다. 단절점과 단절선은 사이에 있는 점들은 해당 값이 존재해야만 서로 연결될 수 있으므로 한 개의 Coponent를 이루기 위해 필수적이다. [[DFS(Depth-First Search)]] 스패닝 트리를 이용해 구할 수 있으며 시간복잡도는 라 할 때 $O(V)$이다. Articulation Points And Bridges 원리 Articul
MVP 마인크래프트에 Mine Flare을 사용하여 API를 통해 GPT와 통신한다. 명령어를 통해 NPC를 간단하게 조작할 수 있게 한다. 이미지(2D)를 통해 3D 데이터를 변환하여 GPT가 건축물을 만들도록 조작한다. 같은 depth 추론 모델을 사용하여 2D 이미지의 깊이감, 굴곡 정도를 추론한다. 해당 데이터의 RGB 값을 추가하여 GPT가 읽을 수 있는 데이터로 변환한다. 해당 데이터를 GPT에게 전달하고 이를 GPT가 만들 수 있도록 한다. 명령어를 통해