2023년 호서대학교 게임학과 하계 방학 동안 진행한 C++ 코딩 테스트 학습 기록입니다. 알고리즘의 동작 원리를 직접 구현하고, 문제 유형별로 28개의 독립 실행 예제를 정리했습니다.
개인 학습 저장소로 문제 선정, 풀이 설계, C++ 구현과 학습 노트 정리를 직접 진행했습니다.
- 언어: C++
- 학습 범위: 그리디, 구현·완전 탐색, DFS/BFS, 정렬, 이진 탐색, 다이나믹 프로그래밍
- 구성 방식: 문제 또는 알고리즘별 디렉터리와 독립 실행 가능한
.cpp파일
| 주제 | 예제 | 구현에서 확인할 점 |
|---|---|---|
| 그래프 탐색 | DFS · BFS | 인접 리스트와 방문 상태를 이용한 순회 |
| 최단 거리 | 미로 탈출 | 격자 BFS에서 방문 여부와 거리를 함께 갱신 |
| 재귀 탐색 | 음료수 얼려 먹기 | 연결된 영역을 DFS로 탐색해 개수 집계 |
| 이진 탐색 | 부품 찾기 · 떡볶이 떡 만들기 | 정렬된 범위 탐색과 조건을 만족하는 최댓값 탐색 |
| 정렬 | 선택 정렬 · 계수 정렬 | 비교 기반 정렬과 값의 범위를 이용한 정렬의 차이 |
| 다이나믹 프로그래밍 | 바텀업 · 1 만들기 | 작은 문제의 결과를 저장하고 재사용하는 과정 |
23-1Coding-test/
├─ Greedy, Greedy_2 ... # 그리디 문제
├─ 상하좌우, 시각 ... # 구현·완전 탐색
├─ DFS, BFS/ # 그래프 표현과 순회
├─ 음료수 얼려 먹기, 미로 탈출/ # DFS/BFS 응용
├─ 선택정렬, 삽입정렬 ... # 정렬 알고리즘과 문제
├─ 이진탐색, 부품 찾기 ... # 이진 탐색
└─ 다이나믹프로그래밍_*/ # DP 기초와 문제
전체 문제별 풀이 과정은 학습 노트에서 확인할 수 있습니다.
각 .cpp 파일은 서로 의존하지 않는 콘솔 프로그램입니다. C++17 이상을 지원하는 컴파일러로 원하는 파일을 빌드합니다.
g++ -std=c++17 -Wall -Wextra -pedantic "미로 탈출/미로탈출.cpp" -o maze
./mazeWindows PowerShell에서는 실행 파일을 ./maze.exe로 실행합니다. 입력이 필요한 예제는 문제 조건에 맞는 값을 표준 입력으로 전달합니다.
이 저장소는 학습 당시의 풀이 과정을 보존한 기록입니다. 예제별 입력 방식과 코드 스타일이 다를 수 있으며, 재사용 가능한 알고리즘 라이브러리나 자동화된 테스트 모음을 목표로 한 프로젝트는 아닙니다.