자바 ArrayList와 LinkedList 차이: 실제로 언제 무엇을 써야 할까
자바 ArrayList와 LinkedList 차이를 빅오 암기 대신 실전 선택 기준으로 정리합니다. 메모리 배치, 랜덤 접근, 중간 삽입과 삭제의 현실, 순회 성능, cache locality, ArrayDeque를 먼저 봐야 하는 이유까지 설명합니다.
자바 ArrayList와 LinkedList 차이를 빅오 암기 대신 실전 선택 기준으로 정리합니다. 메모리 배치, 랜덤 접근, 중간 삽입과 삭제의 현실, 순회 성능, cache locality, ArrayDeque를 먼저 봐야 하는 이유까지 설명합니다.
정렬 후 스캔이 왜 애드혹 문제에서 자주 통하는지 쉽게 설명합니다. 인접 비교, 구간 정렬, 쌍 맞추기, 선형 스캔까지 순서를 바꾸면 규칙이 보이는 대표 유형을 단계적으로 정리합니다.
자바 HashMap과 TreeMap 차이를 정렬, 순회 순서, 시간 복잡도, null key, Comparator, 범위 탐색 기준으로 비교하고 언제 무엇을 써야 하는지 실무적으로 정리합니다.
누적합과 차분 배열이 각각 언제 필요한지, 구간 합과 구간 업데이트 문제를 어떤 기준으로 나눠 생각해야 하는지, 그리고 difference array를 누적해 실제 배열로 복원하는 흐름까지 쉬운 예시로 설명합니다.
그리디 선택 기준을 어떻게 잡아야 하는지, 반례로 무엇을 걸러야 하는지, 교환 논증으로 왜 맞는지 쉽게 이해할 수 있게 단계적으로 정리합니다.
원형 배열 문제를 쉽게 푸는 법을 정리합니다. modulo 인덱싱, 배열 두 배 확장, 시작점 고정, wrap-around window를 예시로 설명하고 시계·회전·원형 구간 문제의 접근 순서와 실수 포인트까지 함께 짚습니다.