Skip to content

코딩 인터뷰를 위한 알고리즘 및 자료구조 학습 (C++)

License

Notifications You must be signed in to change notification settings

jinyongp/cpp-coding-interview

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

C++ Coding Interview

💬 Table of Contents

🎉 Getting Started

Fork This Project 🔥

🛠 Prerequisites

1. Install packages/tools

프로젝트에 필요한 도구를 설치합니다. (*필수)

  • *make
  • *CMake
  • clang-format

2. Install extensions

VSCode extension을 설치합니다. (vscode를 이용하지 않는다면 건너뛰어도 무방합니다.)

Ctrl + P 혹은 + P 를 누르고 아래 내용을 붙여 넣습니다.

ext install ms-vscode.cpptools matepek.vscode-catch2-test-adapter ms-vscode.cmake-tools mitaki28.vscode-clang
  • 설치 목록: C/C++, C++ TestMate, CMake Tools, C/C++ Command Adapter

Extension을 위한 몇 가지 설정을 합니다.

  1. F1을 눌러 Command Palette를 열고 C/C++: Edit Configuration (UI)를 눌러 설정을 시작합니다.

    • Include Path에 아래 내용을 추가합니다.
      ${workspaceFolder}
      ${workspaceFolder}/build/_deps/googletest-src/googletest/include
      ${workspaceFolder}/build/_deps/googletest-src/googlemock/include
    • C++ standard를 c++20으로 변경합니다.
    • Advanced Settings를 열고 Configuration provider에 ms-vscode.cmake-tools를 작성합니다.
  2. clang-format을 사용하고 있다면, .vscode/settings.json에서 C_Cpp.clang_format_path 값을 자신의 clang-format 위치로 변경합니다. 해당 위치는 터미널에서 which clang-format 명령을 실행하여 얻을 수 있습니다.

3. Initialize a project

make init 명령어를 통해 프로젝트를 초기화합니다.

그 외 실행 명령어

  • make: 빌드
  • make init: 초기화
  • make test: 테스트
  • make format: 코드 포맷팅 (based on clang-format)

🧪 Pass All The Tests

sources 폴더 내, TODO를 수행하며 모든 테스트를 통과하도록 구현하는 것이 목표입니다.

  • 코드를 수정하고, make 명령어를 실행하여 빌드를 합니다.
  • 여러 방법으로 테스트를 수행할 수 있습니다.
    • 각 테스트 케이스 위에 존재하는 Run 버튼을 클릭합니다.
    • 사이드에 위치한 Testing 탭에서 개별 테스트를 진행합니다.
    • make test 명령어를 실행합니다.
  • tests 폴더 내에 있는 *.test.cc 파일을 확인하여 어느 부분에서 문제가 발생했는지 확인할 수 있습니다.
  • keys 폴더에서 모든 테스트를 통과하는 코드를 참고할 수 있습니다.
  • 테스트 케이스를 통과하셨나요? PR을 올려 자랑해주세요!

📝 Notes

👥 Contributions

  • 테스트 케이스의 오류/누락을 발견하신다면 Issue 혹은 PR을 올려주세요!

🌐 References

About

코딩 인터뷰를 위한 알고리즘 및 자료구조 학습 (C++)

Topics

Resources

License

Stars

Watchers

Forks