일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 알고리즘
- 코딩테스트
- LLM
- AI
- frontend
- DP
- queue
- modbus
- javascirpt
- React
- javascript
- retriever
- BFS
- OpenAI
- turbo
- python
- 완전탐색
- backend
- Algorithm
- 파이썬
- Two Pointer
- chroma
- rag
- VectoreStore
- dfs
- 스택/큐
- typescript
- 프로그래머스
- heapq
- InfluxDB
- Today
- Total
목록분류 전체보기 (68)
DM Log
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제 간단 요약] 미로에서 시작 지점(S) → 레버(L) → 출구(E) 순서대로 이동해야 한다.이동은 상하좌우로만 가능하며, 벽(X)은 통과할 수 없다.각 이동은 1초가 걸린다.레버를 당기지 않으면 출구로 갈 수 없다.도달할 수 없는 경우 -1을 반환한다. [문제 해결 방안]이 문제는 최단 경로 탐색 문제이며, BFS(너비 우선 탐색)으로 해결 가능하다.해결 순서:S → L 최단 시간 BFSL → E 최단 시간 BFS두 구간 모두 도달..
서론Node, Python, Vite, Turborepo를 확용한 모노레포 환경을 구축하고 실행 하는 과정Node.js + Vite 기반 프론트엔드 생성Python 가상환경 생성 및 패키지 설치Turborepo를 활용한 모듈별 실행 확인프로젝트 루트 생성프로젝트 루트 생성# 프로젝트 루트 생성mkdir ai-projectscd ai-projects 👉 ai-projects라는 디렉토리 안에 frontend와 backend 디렉토리를 나누어 구성 Vite + React 프론트엔드 앱 생성프론트엔드는 frontend/apps/ 폴더 아래 생성apps/ 하위에 ai module 별로 생성# frontend 디렉토리 생성mkdir frontendcd frontend# package.json 초기화npm ini..
환경 설정1. 사용 버전Node.js: v22.17.1Python: 3.13.7Python은 가상환경(venv)을 사용해 프로젝트별 독립 환경을 구성할 예정이고, Node.js는 Vite + React 기반 프론트엔드 빌드2. 프로젝트 구조 설계모노레포(Monorepo) 방식을 채택하여 AI 모듈을 독립된 앱으로 구성하고, 공통 패키지를 공유하여 유지보수성을 높일 예정ai-projects/ ├─ frontend/ # 프론트엔드 (Turborepo 관리) │ ├─ apps/ # 개별 프론트엔드 프로젝트 │ │ ├─ pdf/ # PDF 전용 프론트 (/pdf) │ │ └─ ... │ ├─ packages/ ..
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제 간단 요약] 시작 단어(begin)를 목표 단어(target)으로 변환변환 규칙:한 번에 한 글자만 바꿀 수 있음변환된 단어는 반드시 주어진 단어 목록(words)에 포함begin에서 target으로 변환하는 최소 단계 수를 반환변환이 불가능한 경우 0 반환 [문제 해결 방안]그래프 탐색 문제: 각 단어를 노드로 보고, 한 글자 차이 나는 단어끼리 연결DFS 또는 BFS로 탐색 가능DFS: 모든 경로 탐색 후 최소 단계 갱신BFS..
다중 PDF에서 답변 받기 여러 PDF를 동시에 다루는 RAG 구조를 생성, 질문과 관련 잇는 파일을 우선순위로 정하여 답변하는 방법 실[구현 전략]1. 여러 PDF를 로딩 → 분할 → 임베딩 → Chroma에 저장2. 각 문서에 source 메타데이터(파일명)을 붙임3. 사용자 질문 → 관련 문서 검색 → 파일별 점수 집계4. 관련성 높은 파일 우선순위 반환5. 선택된 파일만을 기반으로 QA 실행다중 PDF RAG 서버 구축[코드 예시]1. 여러 PDF 로드 및 벡터 스토어 생성import osfrom langchain_community.vectorstores import Chromafrom langchain_community.document_loaders import PyPDFLoaderfrom l..
PDF 문서에서 답변 받기 PDF 문서를 기반으로 질문에 답변하는 RAG 서버 구축사내 문서 / 연구 자료 / 메뉴얼 같은 PDF 파일을 AI 질의 응답 시스템에 활용 가능환경 준비1. 필수 라이브러리 설치pip install langchain langchain-community langchain-openai chromadb pypdf mcp 2. OpeanAI API Key 설정export OPENAI_API_KEY="your_api_key_here" # macOS/Linuxsetx OPENAI_API_KEY "your_api_key_here" # Windows PowerShell 또는 코드 상단에import osos.environ["OPENAI_API_KEY"] = "your_api_key..
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/12927 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제 간단 요약]남은 시간 n, 각 작업의 작업량 배열 works가 주어짐1시간 동안 한 작업량을 1 줄일 수 있음모든 시간이 끝난 뒤 남은 작업량들의 제곱합이 최소가 되도록 작업을 분배결과: 최소화된 제곱합 [문제 해결 방안]제곱합을 최소화하려면 가장 큰 작업부터 줄여야 함따라서 최대 힙 구조를 사용해야 함Python: heapq에 음수를 넣어 최대 힙처럼 사용JavaScript: 힙 내장 기능이 없으므로 MaxHeap 클래스를 직접 ..
AI 도구 - IDE 연결 표준 AI 모델을 활용 시 단순 프롬프트 입력 → 답변 출력으로 끝나는 경우는 많지 않음IDE(Coding 환경), 지식 베이스, 외부 API 등과 연결하여 실질적 업무 도구 활용MCP는 AI 모델과 외부 애플리케이션(IDE, 도구, 데이터 소스)을 표준화된 방식으로 연결해 주는 프로토콜MCP 란?Model Context Protocol의 약자AI모델이 외부 도구(tool)를 호출하거나, 데이터 소스에 접근할 수 있도록 해주는 규격대표 지원 사례:Cursor IDE → MCP 서버를 연결해 맞춤형 개발 도구 사용Claude → MCP 도구를 통해 특정 데이터베이스 / 문서 검색 가능👉 MCP는 LLM + 외부 세계 연결을 위한 표준 인터페이스 FastMCP 소개MCP 서버를 ..