알고리즘 공부 진행 중 · Day 1 미풀이
언어: TypeScript · 기간: 2026-11-04 ~ 2026-12-03 (30일) · 목적: 코딩테스트 대비, 완전 초보 기준
Day 1 진행 중, 완료 0일
Day 1 — 시간복잡도 + twoSum
- 개념: O(1) 한 번, O(n) 한 번 훑기, O(n²) 이중 for문
- 문제: 합이 target이 되는 두 수의 인덱스 반환, 같은 원소 두 번 사용 금지
- 예: [2, 7, 11, 15], target 9 → [0, 1]
- 핵심 교정: 기준은 배수/최소공배수가 아니라 합이다. 남은수 =
target - 순회숫자 - 주의: target보다 큰 수 제외는 양수만 있을 때만 안전하고, 값만 뽑아 새 리스트를 만들면 원래 인덱스가 날아간다.
function twoSum(nums: number[], target: number): number[] {
// nums[i] + nums[j] === target인 쌍을 찾는다
// 이중 for문이면 O(n²), 나중에 해시로 O(n)으로 줄인다
}
4주 지도
1주
시간복잡도, 배열/문자열, 해시, 스택/큐
시간복잡도, 배열/문자열, 해시, 스택/큐
2주
정렬, 이진탐색, 투포인터, 슬라이딩 윈도우
정렬, 이진탐색, 투포인터, 슬라이딩 윈도우
3주
DFS/BFS, 그래프 입문
DFS/BFS, 그래프 입문
4주
DP, 그리디/힙, 모의 코테 2회
DP, 그리디/힙, 모의 코테 2회
에이전트 개발 학습 진행 중 · Day 20 미완
언어: TypeScript · 방식: 기존 모델 활용, pi 미니 하네스에 도구·루프·승인 UI를 하나씩 붙이기 · 최종 목표: MCP 서버 + 미니 코딩 에이전트 배포
개념 7조각 — 공부한 내용
- 1. LLM vs 에이전트 — 확인됨. LLM은 뇌, 주문서만 낸다. 실행은 우리 코드가 한다.
- 2. 대화 기록과 stateless — 확인됨. LLM은 요청마다 기억이 없다. 코드가 messages 배열 전체를 다시 보낸다.
- 3. 도구 주문서와 실제 실행 — 확인됨. 도구 정의는 LLM용 설명서, 진짜 함수는 코드다. 검증은 지능이 아니라 if 조건이다.
- 4. 루프와 안전장치 — 전달됨, 확인 전. 주문 → 검증 → 실행 → 결과 다시 보내기, 주문서 없으면 종료, 최대 5턴.
- 5. CLI / API / 웹 UI — 보류
- 6. SSE 스트리밍 — 보류
- 7. 로그와 승인 — 보류
Day 20 — 도구 로그와 승인 UI
- 도구 호출 로그 절반 확인됨
- 승인 UI 미완: pendingApprovals, askApprovalWeb, POST /approve 삽입 보고 미확인
- write_file 승인은 터미널 y/n 유지
이후 목표
- Day 21 웹 에이전트 v1 시연, Day 23 MCP, Day 27 고정 과제 평가, Day 30 최종 시연 + README
- 순서: 에이전트 완성 먼저, ML은 그다음 2단계로. 모델 제작 트랙으로 바꾸지 않는다.