🍋 ⚾️ 💻 🎬 🎮

분류 전체보기 113

[RAG] VectorDB Embedding

사용자가 원하는 정보사용자의 질문과 관련있는 데이터관련이 있다는 것을 판단하는 기준은 vector가 된다.vector : 단어 또는 문장의 유사도를 파악해서 관련성을 측정한다.Vector를 생성하는 방법Embedding 모델을 활용해서 vector 생성한다.문장에서 비슷한 단어가 자주 붙어있는 것을 학습한다.예를 들어, A : "왕은 왕자의 아버지다." / B : "여왕은 왕자의 어머니다.""왕자의" 라는 단어 앞에 등장하는 "왕"과 "여왕"은 유사할 가능성이 높다. Vector DatabseEmbedding 모델을 활용해 생성된 vector를 저장한다.vector와 함꼐 metadata도 저장된다.metadata : 문서의 이름, 페이지 번호 등의 데이터hallucination을 대비하기 위해서 어떤..

Tech 2025.05.19

[백준] 1449. 수리공 항승

🗂️ 문제 1449. 수리공 항승📌 PointTwo Pointers테이프 시작 지점과 끝 지점을 이용해서 투 포인터로 풀이한다. https://youngone-kang.tistory.com/30 [Algorithm] Two Pointers (투 포인터)Two Pointers리스트에 순차적으로 접근할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘시작점과 끝점 2개의 점으로 접근할 데이터의 범위를 표현할 수 있다. (응용문제) _ 특정한 합을 가youngone-kang.tistory.com📄 코드n, l = map(int,input().split())pipes = list(map(int,input().split()))pipes.sort()# 테이프 시작 위치start = pipes..

coding_test 2025.05.05

[백준] 2805. 나무 자르기 (파이썬)

🗂️ 문제 2805. 나무 자르기📌 PointBinary Search절단기 높이 H를 이진 탐색으로 조정하며, 잘린 나무의 합이 M 이상인지 확인한다. 조건을 만족하면 더 높은 높이도 가능하므로 높이를 올린다. (left = mid + 1)조건을 만족하지 못하면 더 낮은 높이로 내려야 한다. (right = mid - 1) 📄 코드def solution(): N, M = map(int, input().split()) trees = list(map(int, input().split())) def is_enough(height): return sum((tree - height) for tree in trees if tree > height) >= M lef..

coding_test 2025.04.14

[백준] 11660. 구간 합 구하기 5 (파이썬)

🗂️ 문제 11660. 구간 합 구하기 5📌 PointPrefix Sum2차원 배열 board의 누적합을 저장한 새로운 배열 prefix_sum을 만들어서 직사각형 구간의 합을 O(1)에 구할 수 있도록 한다. 📄 코드def solution(): N, M = map(int, input().split()) board = [list(map(int, input().split())) for _ in range(N)] prefix_sum = [[0] * (N+1) for _ in range(N+1)] for i in range(1, N+1): for j in range(1, N+1): prefix_sum[i][j] = ( ..

coding_test 2025.04.14

[SQL] DATE_FORMAT (MySQL)

Date Format (MySQL) 📎  요일FormatDescriptionCodeResult%a요일(Mon ~ Sun)SELECT DATE_FORMAT("2015-09-07", "%a");Mon%W요일(Monday ~ Sunday)SELECT DATE_FORMAT("2015-09-07 20:25:19", "%W");Monday%w요일(0(Sun) ~ 6(Sat)SELECT DATE_FORMAT("2015-09-07 20:25:19", "%w");1   📎  날짜FormatDescriptionCodeResult%Y연도SELECT DATE_FORMAT("2015-09-07 20:25:19", "%Y");2015%y연도(뒤 두자리만)SELECT DATE_FORMAT("2015-09-07 20:25:19"..

Tech/SQL 2025.04.06

[백준] 17270. 연예인은 힘들어 (파이썬)

🗂️ 문제 17270. 연예인은 힘들어📌 PointDijkstra그래프에서 여러 개의 노드가 있을 때, 특정 노드에서 출발하여 다른 노드로 가는 각각의 최단 경로를 구해주는 알고리즘한 지점에서 다른 특정 지점까지의 최단 경로를 구해야 하는 경우에 사용한다. 특징음(-)의 간선이 없을 때 정상적으로 동작‘각 노드에 대한 현재까지의 최단 거리’ 정보를 항상 1차원 리스트에 저장하며 리스트를 계속 갱신 작동 방식출발 노드를 설정한다.최단 거리 테이블을 초기화한다.방문하지 않은 노드 중에서 최단 거리가 가장 짧은 노드를 선택한다.해당 노드를 거쳐 다른 노드로 가는 비용을 계산하여 최단 거리 테이블을 갱신한다.위 과정에서 3번과 4번을 반복한다. 📄 코드import heapq # 우선순위 ..

coding_test 2025.03.27

[Network] OSI 7계층

OSI 7계층네트워크 통신이 이뤄지는 과정을 7단계로 나눈 네트워크 표준 모델  7계층으로 나누는 이유특정한 곳에 이상이 생기면 이상이 생긴 단계만 수정할 수 있기 때문이다.    1. 물리 계층 (Physical layer)리피터, 케이블, 허브 등단지 데이터를 전기적인 신호로 변환해서 주고받는 기능을 진행하는 공간데이터를 비트(bit) 단위의 0과 1로 변환한 후 장비를 사용해 전송하거나 전기 신호를 데이터로 복원한다.  2. 데이터 링크 계층 (Data Link layer)브릿지, 스위치, 이더넷 등물리 계층으로 송수신되는 정보를 관리하여 안전하게 전달되도록 도와주는 역할데이터 흐름을 관리하며 데이터의 오류 검출 및 복구 등을 수행한다.MAC 주소를 통해 통신한다.  3. 네트워크 계층 (Netwo..

CS/Network 2025.03.26

[백준] 17609. 회문 (파이썬)

🗂️   문제 17609. 회문📌   PointTwo Pointer 문자열이 회문인지 확인하기 위해서는 문자열이 대칭인지를 확인해야 한다.대칭인지를 확인하기 위해 첫 번째 문자와 마지막 문자에 각각 포인터를 두고 중간 문자까지 각 포인터가 가리키는 문자가 같은지 확인한다. https://youngone-kang.tistory.com/30 [Algorithm] Two Pointers (투 포인터)Two Pointers리스트에 순차적으로 접근할 때 두 개의 점의 위치를 기록하면서 처리하는 알고리즘시작점과 끝점 2개의 점으로 접근할 데이터의 범위를 표현할 수 있다. (응용문제) _ 특정한 합을 가youngone-kang.tistory.com     📄   코드def main(): T = int(i..

coding_test 2025.03.25

[Algorithm] 이분 탐색 (Binary Search)

이진 탐색검색 간격을 반으로 반복적으로 나누어 정렬된 배열로 사용하는 알고리즘대상 요소와 검색 공간의 중간 값을 비교하여 검색 간격을 절반으로 줄임.  ✍🏻  동작 예시index0123456789 -5-2012456710Low   Middle    High-5-2012456710     Low Middle High-5-2012456710        LowMiddleHigh   이진 검색 알고리즘 적용 조건데이터 구조를 정렬데이터 구조의 모든 요소에 액세스하려면 일정 시간 소요   작동 방식배열의 중간 요소를 Key와 비교한다. (Key는 찾고자 하는 요소)키를 찾으면 프로세스 종료키를 찾지 못한 경우 다음 공간으로 탐색할 배열의 절반을 선택한다.키가 중간 요소보다 작으면  →   중간을 기준으로 왼쪽..

Tech/Algorithm 2025.03.24
728x90
반응형