| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- docker
- Algorithm
- Infra
- jenkins
- CI/CD
- Two Pointer
- frontend
- build
- javascript
- DP
- heapq
- BFS
- monorepo
- 프로그래머스
- turbo
- 파이썬
- javascirpt
- React
- LLM
- 알고리즘
- python
- VectoreStore
- dfs
- rag
- typescript
- OpenAI
- queue
- modbus
- ansible
- AI
- Today
- Total
목록python (56)
DM Log
문제 링크 - 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 서버를 ..
벡터DB를 활용한 문서 검색 실습Chroma를 이용해 문서를 벡터화하고, 검색하는 실습 진행Chroma는 설치가 간편하고 LangChain에서 기본적으로 지원하기 때문에, RAG 실습환경 세팅 1. 필수 라이브러리 설치pip install langchain langchain-community langchain-openai chromadb 2. OpenAI 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_her..
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/42628?language 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제 간단 요약] 큐에 숫자를 삽입하거나 최댓값/최솟값을 삭제하는 연산이 주어진다.모든 연산을 수행한 후, 큐가 비어 있지 않다면 [최댓값, 최솟값]을 반환하고, 비어 있으면 [0, 0]을 반환한다. [문제 해결 방안]✅ Heap파이썬의 heapq는 최소 힙만 지원하므로,최솟값 관리: 일반 힙(li)최댓값 관리: 음수 변환하여 힙(revert_li)삽입 시 두 힙에 모두 넣어 동기화삭제 시 조건에 맞게 하나에서 heap..
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/43105 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[문제 간단 요약]꼭대기에서 시작해 바로 아래 왼쪽/오른쪽으로만 이동지나간 숫자의 합이 최대가 되는 경로의 합을 반환[문제 해결 방안]동적 프로그래밍 적용아래 행에서 위로 올라가며 각 칸에 만들 수 있는 최대 합을 누적바텀업 방식 사용 시 전체 원소를 한 번씩만 갱신[문제 해결 코드 - python]def solution(triangle): answer = 0 dp = [] for i in range(len(triangle)..
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr[문제 간단 요약]n대의 컴퓨터가 있고, computers[i][j] = 1이면 i와 j가 직접 연결됨.네트워크(연결 요소)의 개수를 구해야 한다.즉, 연결된 노드들의 그룹 수를 찾는 문제.[문제 해결 방안]그래프의 연결 요소 개수를 찾는 전형적인 문제.모든 노드에 대해 아직 방문하지 않은 경우 DFS/BFS 탐색을 수행.탐색을 시작할 때마다 네트워크 수를 +1 증가.인접 행렬이므로 각 노드마다 모든 노드를 확인 → 시간 복잡도는 O(n^2..
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제 간단 요약]엘리베이터가 현재 층 storey에 있음.버튼을 눌러 1의 자리 단위로 올리거나 내리는 방식으로 0층까지 이동해야 함.한 번 누를 때마다 1의 자리 기준으로 +1 또는 -1만 가능.버튼 누르는 횟수를 최소화해야 함.반환: 최소 버튼 누름 횟수.[문제 해결 방안]핵심 아이디어: 그리디(Greedy) + 자리수 처리현재 층의 1의 자리(stor = storey % 10)를 확인stor stor > 5: 올라가서 반올림 처리..
문제 링크 - https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr [문제 간단 요약] 양의 정수로 이루어진 배열 sequence와 정수 k가 주어짐.합이 정확히 k가 되는 연속 부분 수열 [s, e]를 찾아야 함.답이 여러 개라면 길이가 가장 짧은 구간을 선택.반환 형식: [시작 인덱스, 끝 인덱스]. [문제 해결 방안]모든 수가 양수이므로, 투 포인터(슬라이딩 윈도우) 기법을 사용 가능.두 포인터 s, e를 이용해 구간의 합 ssum을 유지하면서 탐색:ssum ssum >= k → 왼쪽 포인터 이동..