이 레포지토리는 프로그래머스(Programmers) 문제들을 C++로 디버깅하며 풀고, 그 풀이와 생각 과정을 기록하는 개인 성장용 프로젝트입니다.
단순히 정답만 모아두는 것이 아니라, 디버깅 과정과 사고 흐름을 정리하는 것을 목표로 합니다.
- 언어: C++17
- IDE: Visual Studio 2026 (Windows)
- 프로젝트 타입: 콘솔 애플리케이션
- 빌드 설정: 기본 Debug/Release, Win32/x64 구성
- 새로운 문제를 풀 때는 항상
main.cc에서 직접 코드 작성을 시작합니다. - 디버거를 사용해 입력·출력, 중간 상태를 확인하면서 문제를 해결합니다.
- 원하는 출력/정답이 정확히 나올 때까지
main.cc에서만 수정·실험합니다.
이 단계는 “연습장 + 디버깅 전용 공간”입니다.
구조보다는 정답에 도달하는 과정과 이해에 집중합니다.
정답이 검증되면 main.cc 안의 풀이 코드를 함수로 감싸고, 아래 규칙으로 라벨링합니다.
- 형식:
solution_문제번호- 예:
solution_12954,solution_118666등
- 예:
- 목적
- 문제별 검색을 쉽게 하기 위함
- 한 파일 안에서 여러 문제 풀이를 함께 관리하기 위함
정리 시에는 다음을 함께 진행합니다.
- 불필요한 디버그 출력 제거
- 변수명, 들여쓰기 등 최소한의 코드 정리
- 나중에 다른 파일로 옮겨도 바로 사용할 수 있는 형태로 정돈
나중에는 문제들을 레벨(Level) 별로 정리할 예정입니다.
main.cc안에서 레벨별 문제 구간을#pragma region으로 감쌀 예정입니다.- 예시:
#pragma region LEVEL0#pragma region LEVEL1
- 각 region 안에 해당 레벨의
solution_문제번호들을 모아둡니다.
- 예시:
main()에서는 디버깅하고 싶은solution_문제번호를 직접 호출하여 실행합니다.
실제 프로젝트 디렉터리 구조는 아래와 같이 구성합니다.
Programmers/
┣ main.cc
┗ problems/
┣ level0/
┣ level1/
┣ level2/
┗ level3/
main.cc에 새 문제 풀이 코드를 작성합니다.- 디버거로 충분히 확인해 정답이 맞는지 검증합니다.
- 풀이를 함수로 감싸고
solution_문제번호형식으로 이름을 부여합니다. - 필요하다면 해당 레벨에 맞는
#pragma region안으로 이동시키거나, 추후problems/levelX/폴더로 분리합니다.
- C++ 문법과 STL 활용 능력 향상
- 디버깅 능력 및 문제 접근 방식 개선
- 나중에 다시 봐도 이해할 수 있는 정리된 풀이 아카이브 만들기