변경 로그
Summary
원본 zip은 수정하지 않았다.
/mnt/data/java_ct_upgraded/지식_통합본_업그레이드에 새 수정본을 만들고, 이 폴더 전체를 최종 zip으로 묶었다.
2026-06-12 업그레이드 요약
| 구분 | 변경 |
|---|---|
| 구조 | 기존 00_메타 / 알고리즘 / 문법 / 수학 구조는 유지하되, 역할을 README에 명확히 재정의 |
| 신규 문서 | 문법/A_필수/ArrayDeque.md, 알고리즘/16. 자료구조-Stack-Queue-Deque.md, 00_메타/06. Java 17 템플릿 검증 결과.md, 00_메타/07. 구조 분석.md 추가 |
| 병합/삭제 | 수학/아스키.md를 문법/A_필수/Character (문자).md에 병합 후 삭제 |
| 중복 정리 | Queue/Stack/Deque 공통 메서드 표를 ArrayDeque.md로 통합 |
| README | 사용법, 추천 복습 순서, 폴더 설명, Java 기준을 다시 작성 |
| Java 정책 | Java 17 기준, Stack/LinkedList 대신 ArrayDeque 중심으로 통일 |
ArrayDeque 정책 반영
| 항목 | 처리 |
|---|---|
Stack 클래스 지양 | Deque<T> st = new ArrayDeque<>(); + push/pop/peek로 통일 |
LinkedList 큐 지양 | Queue<T> q = new ArrayDeque<>(); + offer/poll/peek로 통일 |
| 큐/스택/덱 메서드 분리 | ArrayDeque.md에 표로 정리 |
push() 방향 | 앞에 넣는 동작으로 강조 |
offer()/offerLast() 방향 | 뒤에 넣는 동작으로 강조 |
poll()/pollFirst() 방향 | 앞에서 꺼내는 동작으로 강조 |
| 배열 변환 순서 | stream().mapToInt(i -> i).toArray()는 현재 앞 → 뒤 순서임을 명시 |
| 실수 사례 | push()로 큐를 구현해 결과가 역순이 되는 예시와 수정 코드 추가 |
| 빈 덱 처리 | poll/peek은 null, remove/get은 예외로 비교 |
null 삽입 | ArrayDeque는 null 불가 명시 |
파일별 주요 변경
| 파일 | 변경 내용 |
|---|---|
README.md | 전체 사용법, 추천 복습 순서, 주요 폴더 설명 재작성 |
00_메타/00. 복습 우선순위.md | A/B/C 등급 재정렬, 30분 복습 루틴 추가 |
00_메타/01. 문제 신호-알고리즘 매핑.md | 제약조건/표현/Java 자료구조 신호 확장 |
00_메타/02. 오답-약점 로그.md | Deque 방향 혼동 원인 분류 추가 |
00_메타/03. 유형별 엣지케이스.md | Stack/Queue/Deque, PQ/정렬 체크리스트 추가 |
00_메타/04. 삭제-병합 후보.md | 실제 병합/삭제 파일과 다음 검토 후보 기록 |
00_메타/07. 구조 분석.md | 원본 구조 분석과 유지/분리/병합 판단 근거 기록 |
문법/A_필수/ArrayDeque.md | 큐/스택/덱 통합 정책과 실수 사례를 별도 문서화 |
문법/A_필수/Collection.md | 공통 Collection 요약 중심으로 축소, ArrayDeque 상세는 링크 |
문법/A_필수/Java 실수 모음.md | ArrayDeque push() 역순 실수, null/예외 차이 추가 |
문법/A_필수/Character (문자).md | ASCII 문서 내용을 병합하고 문자/숫자 변환 강화 |
알고리즘/14. 스택-괄호.md | 스택 문제는 Deque<T> st + push/pop/peek로 통일 |
알고리즘/16. 자료구조-Stack-Queue-Deque.md | BFS 큐, 스택, 단조 스택, 슬라이딩 윈도우 덱 문서 추가 |
Java 코드 검증
검증 방식: Markdown의 Java 코드블록 중 public class Main을 포함한 블록을 추출
컴파일 옵션: javac --release 17
결과: 컴파일 대상 템플릿 전부 통과
상세: 00_메타/06. Java 17 템플릿 검증 결과.md판단 근거
- ArrayDeque 설명은 여러 문서에 흩어져 있으면 방향 실수가 반복되므로 대표 문서로 통합했다.
- Stack/Queue/Deque는 Java 문법이면서 알고리즘 문제 신호이므로 문법 문서와 알고리즘 문서를 분리했다.
- ASCII는 독립 수학 주제보다 Character API에 붙어 있어야 실전에서 찾기 쉽다고 판단했다.
- Stream은 편하지만 코딩테스트 핵심 템플릿으로 외우기보다 검색용/가끔 문법으로 유지했다.TODO
TODO: 사용자가 자주 푸는 플랫폼이 프로그래머스 위주라면 Solution 클래스 템플릿을 별도 보강
TODO: 목표 기업 기출에 날짜 문제가 반복되면 날짜.md를 B급으로 승격
TODO: 재귀 DFS를 자주 쓰는 경우, 반복 DFS 템플릿을 더 앞쪽으로 이동
TODO: Segment Tree lazy propagation은 현재 기본 범위 밖. 필요 시 별도 문서 추가