Java 코딩테스트 직전 복습 노트

Summary

Java 17 기준으로 코딩테스트 직전 복습, 유형 판별, 템플릿 백지 복원을 빠르게 하기 위한 문서 집합이다.
원본 zip은 수정하지 않고, 이 폴더에 수정본을 새로 작성했다.


추천 복습 순서

순서볼 파일목적
100_메타/00. 복습 우선순위.md오늘 무엇을 볼지 결정
200_메타/01. 문제 신호-알고리즘 매핑.md문제 표현 → 알고리즘 후보 연결
300_메타/03. 유형별 엣지케이스.md제출 직전 체크
4문법/A_필수/Java 빠른 입출력.md입력 파싱 실수 방지
5문법/A_필수/ArrayDeque.md큐/스택/덱 방향 실수 방지
6A급 알고리즘 문서템플릿 백지 복원
700_메타/02. 오답-약점 로그.md틀린 원인 누적

폴더 설명

폴더역할
00_메타복습 우선순위, 유형 판별표, 엣지케이스, 오답 로그, 변경 로그, 병합 후보
알고리즘문제 신호, 핵심 아이디어, 복잡도, Java 템플릿 중심
문법/A_필수입출력, 배열, 문자열, Collection, Map/Set, ArrayDeque 등 매번 쓰는 Java 문법
문법/B_가끔Stream, BigInteger, 정규표현식처럼 조건이 맞을 때 쓰는 문법
문법/C_검색용날짜처럼 가끔 필요하지만 외울 필요는 낮은 API
수학GCD/LCM, 소수, 약수, 진법 변환 등 짧은 수학 템플릿

문제 풀이 루틴

1. 제약조건을 보고 가능한 시간복잡도를 먼저 정한다.
2. 문제 표현을 00_메타/01 매핑표에 대입한다.
3. 후보 알고리즘 문서의 “문제 신호”와 “자주 하는 실수”를 본다.
4. 코드를 보기 전에 “백지 복원 질문”에 답한다.
5. 템플릿을 손으로 복원하고, 입력/출력/자료형을 문제에 맞게 바꾼다.
6. 제출 직전 00_메타/03 엣지케이스를 체크한다.
7. 틀리면 00_메타/02 오답-약점 로그에 원인을 한 줄로 남긴다.

이 문서 집합의 Java 기준

- Java 17 기준
- 기본 입력: BufferedReader + StringTokenizer
- 대량 출력: StringBuilder
- 큐: Queue<T> q = new ArrayDeque<>() + offer/poll/peek
- 스택: Deque<T> st = new ArrayDeque<>() + push/pop/peek
- 덱 직접 조작: Deque<T> dq = new ArrayDeque<>() + offerFirst/offerLast/pollFirst/pollLast
- Stack 클래스와 LinkedList 큐는 특별한 이유가 없으면 쓰지 않는다.

바로 외울 핵심 문서

문법/A_필수/ArrayDeque.md
문법/A_필수/Java 빠른 입출력.md
알고리즘/00. 시간, 공간 복잡도.md
알고리즘/03. BFS-DFS.md
알고리즘/04. 이분탐색-매개변수탐색.md
알고리즘/05. 투포인터-누적합.md
알고리즘/06. DP.md
알고리즘/07. 그래프-최단경로.md
알고리즘/16. 자료구조-Stack-Queue-Deque.md

자세한 변경 내역은 00_메타/05. 변경 로그.md를 본다.