- BFS는 항상 최단 거리를 보장한다.
- 트리에서 가장 먼 두 노드를 찾는 법
- 임의의 노드에서 BFS를 통해 가장 먼 노드를 찾는다. (트리의 끝점).
- 찾은 끝점에서 가장 먼 노드를 찾는다. (끝점 ↔ 끝점).
- 두 노드 사이의 거리를 출력한다. (지름)
- 어떤 알고리즘/아이디어를 써야 할지 감이 없음
- 문제의 핵심 트릭을 모름
👉 풀이 요지 / 개념을 본다
(이건 답 보기 ≠ 공부)
- 상태 / 인덱스 설계 때문에 코드가 복잡해짐
- 내가 쓴 코드 흐름을 스스로 따라가기 힘듦
👉 구현부 중 ‘상태 설계 / 전이 구조’만 본다
👉 전체 코드 ❌ → 닫고 다시 구현 ⭕
-
원인이 로직 미스인가?
- 예제부터 틀림
- 접근 자체가 비효율적임
👉 1️⃣ 로 돌아간다
-
원인이 구현 / 최적화 문제인가?
- 로직은 맞는데 느림
- 엣지케이스 누락
👉 2️⃣ 로 돌아간다
- 알고리즘과 SQL 코딩테스트 준비를 위한 문제 유형과 풀이 정리.
- Algorthms
- 유형정리
- BFS
- Graph detph 체크: BFS로 탐색하며 들어간 그래프의 깊이 활용하는 문제
- Visited 유형 두 가지: BFS탐색을 할 때 visited를 체크하는 두 가지 위치
- 최소 횟수 연산: 특정한 목표값에 다다르는 최소횟수를 구하는 문제
- 탐색 경로 저장 및 반환: BFS로 탐색한 최단 경로를 저장하고 반환하는 문제
- Dijkstra
- 이차원 배열: 이차원 배열이 주어지고 각 셀(노드)을 이동(간선)할 때 가중치가 있다면 dijkstra를 활용하는 문제
- Graph
- 위상정렬: DAG를 만족하는 graph에서 진입차수(indegree)를 활용하여 경로를 반환하는 등의 문제 해결.
- BFS
- 해결한 문제 모음
- 유형정리
- SQL
- SQL 문법 요약
- summary.md: 각 문법과 사용 방법을 요약.
- 프로그래머스
- Lv. 1
- SQL 문법 요약