Featured image of post [Design Patterns] 14. 템플릿 메서드와 이터레이터: 제어의 깊이

[Design Patterns] 14. 템플릿 메서드와 이터레이터: 제어의 깊이

알고리즘의 골격을 정의하는 Template Method 패턴과 컬렉션 순회를 추상화하는 Iterator 패턴의 제어 구조와 설계 철학을 탐구합니다. 할리우드 원칙, Hook 메서드, 지연 평가, Stream API까지 포괄하여 제어 흐름을 우아하게 관리하는 고급 설계 기법을 학습합니다.

Featured image of post [Design Patterns] 13. 커맨드와 체인 오브 리스폰시빌리티: 요청 처리의 예술 — 실습

[Design Patterns] 13. 커맨드와 체인 오브 리스폰시빌리티: 요청 처리의 예술 — 실습

Command 패턴으로 Undo/Redo가 가능한 텍스트 에디터를, Chain of Responsibility로 다단계 지원 요청 체인과 인증·속도제한·로깅·압축을 처리하는 웹 미들웨어 체인을 직접 구현합니다. 매크로 명령과 요청 라우팅 기법까지 폭넓게 실습합니다.

Featured image of post [Algorithm] C++ 백준 10167번 : 금광

[Algorithm] C++ 백준 10167번 : 금광

백준 10167 금광 문제는 2차원 평면에 흩어져 있는 금광들 중 특정 직사각형을 골라 그 내부 금광들의 이익의 합이 최대가 되도록 하는 방법을 구하는 알고리즘 문제입니다. 좌표 압축, 스위핑, 세그먼트 트리, 최대 부분합 알고리즘을 결합한 최적화를 요구합니다.

Featured image of post [Algorithm] C++/Python 백준 12928번 : 트리와 경로의 길이

[Algorithm] C++/Python 백준 12928번 : 트리와 경로의 길이

백준 12928번 트리와 경로의 길이 문제는 N개의 노드와 정확히 S개의 길이가 2인 단순 경로를 갖는 트리의 존재 여부를 판별하는 수학+DP 문제입니다. 각 노드의 차수 분배와 경로 수식 변형을 통해 조건을 수식화하고, N과 S가 작으므로 다이나믹 프로그래밍을 활용해 차수 배치가 충족되는지를 탐색합니다. 수학적 귀납 및 조합 원리를 바탕으로 효율적인 검사를 수행하는 것이 핵심입니다.

Featured image of post [Algorithm] C++/Python 백준 4792번 : 레드 블루 스패닝 트리

[Algorithm] C++/Python 백준 4792번 : 레드 블루 스패닝 트리

백준 4792번 레드 블루 스패닝 트리는 무방향 그래프에서 각 간선 색이 빨강 또는 파랑일 때, 파란 간선이 정확히 k개인 스패닝 트리의 존재 여부를 Kruskal 변형, MST와 Union-Find로 판별하는 문제로, 최소·최대 파란 간선 개수 범위 내 k의 포함 여부를 통해 풀이하며 색 기준 정렬 및 트리 구성 원리를 묻는 대표적 문제입니다.