BOJ Mate 개발기

2026. 2. 20. 13:48·알쓸신잡

얼마전부터 친구랑 코테 공부를 시작해서 백준 온라인 저지(BOJ)를 열심히 풀고 있는데,
매번 똑같은 작업을 반복하다 보니까 슬슬 귀찮아졌다.
게다가 맥북 화면도 작은데 문제 보고 , 파일 만들고, 템플릿 복붙하고, 테스트 케이스 복사해서 입력 파일 만들고... 이런 걸 자동화 할 방법이 없을까 고민하던 차에, 직접 VS Code 익스텐션을 만들어버렸다.

그렇게 탄생한 게 바로 BOJ Mate다. ClaudeCode를 이용하여 개발했고 VS Code Marketplace에 정식 등록까지 완료하였다!

Intro

BOJ Mate는 백준 문제 풀이를 위한 올인원 VS Code 익스텐션이다.
문제 검색부터 코드 실행, 테스트, 제출, 심지어 AI 힌트까지 전부 VS Code 안에서 해결할 수 있다.

처음에는 단순히 "문제 번호 입력하면 파일 자동 생성되면 좋겠다" 정도로 시작했는데,
점점 욕심이 생기면서 기능이 추가되다 보니 꽤 쓸만한 도구가 나왔다.

Features

📋 문제 관리가 자동화된다

가장 기본이 되는 기능이다. 문제 번호만 입력하면:

  • 백준에서 자동으로 문제 정보를 가져온다 (난이도, 태그까지!)
  • 문제별로 폴더/파일을 자동 생성한다
  • 언어별 템플릿을 자동으로 적용한다
  • 예제 입출력을 자동으로 저장한다

더 이상 문제 사이트 들어가서 예제 복붙할 필요가 없다는 거다. 이것만 해도 시간이 꽤 절약된다.

⚡ 테스트 실행이 한 번에

코드 짜고 나서 테스트하는 것도 정말 귀찮은 작업 중 하나다. 터미널 열고, 입력 파일 만들고, 리다이렉션으로 실행하고... 이제 그런 거 안 해도 된다.

  • Ctrl+Shift+T 한 번이면 저장된 테스트 케이스로 자동 검증
  • 여러 테스트 케이스를 한 번에 돌릴 수 있다
  • 통과/실패가 한눈에 보인다

실제로 써보니까 이게 진짜 편하더라. 코딩하고 바로바로 테스트할 수 있으니까 디버깅 속도가 훨씬 빨라졌다.

🚀 코드 제출도 VS Code 안에서

문제 다 풀었으면 이제 제출해야 하는데, 이것도 자동화했다.

  • 쿠키 기반 자동 로그인
  • 코드 제출을 VS Code에서 바로
  • GitHub 푸시도 커스텀 커밋 메시지 템플릿으로 한 번에

백준 사이트 들어가서 로그인하고, 파일 찾아서 복붙하는 과정이 사라진다. 코딩에만 집중할 수 있다는 게 이 익스텐션의 가장 큰 장점인 것 같다.

💡 AI 힌트 - 막힐 때 도움받기

이건 좀 실험적으로 추가한 기능인데, 생각보다 유용하더라.

알고리즘 분류: "이 문제 어떤 알고리즘으로 풀어야 하지?" 싶을 때 힌트를 받을 수 있다.

단계별 힌트: 바로 답을 보는 게 아니라 단계별로 풀이 방향을 안내받는다.

전체 풀이: 정말 모르겠으면 완전한 풀이와 코드도 제공한다.

OpenAI, Anthropic, Google, Ollama까지 다양한 AI 프로바이더를 지원한다.
로컬 모델(Ollama)도 쓸 수 있어서 API 비용 걱정 없이 사용할 수도 있다.

⏱️ 통계와 타이머

문제 풀이 시간을 측정하고 싶은 사람들을 위해 타이머 기능도 넣었다.

  • 문제별 풀이 시간 자동 측정
  • 난이도별 통계
  • 최근 풀이 기록

나중에 어떤 유형의 문제가 약한지 파악하는 데 도움이 된다.

어떤 언어를 지원하나?

백준에서 많이 쓰는 언어들은 대부분 지원한다:

언어 지원 버전
C++ C++17
Python Python 3
Java Java 11
JavaScript Node.js
Rust Rust 2021

각 언어마다 기본 템플릿을 제공하고, 물론 커스터마이징도 가능하다.

Installation

이제 VS Code Marketplace에 정식 등록되어서 설치가 진짜 쉬워졌다.

방법 1: VS Code Marketplace에서 설치

  1. VS Code에서 Extensions (Ctrl+Shift+X) 열기
  2. "BOJ Mate" 검색
  3. Install 클릭

또는 VS Code Marketplace 페이지에서 바로 설치 가능하다.

방법 2: VSIX 파일로 설치

GitHub Releases에서 .vsix 파일을 다운받아서 설치할 수도 있다:

code --install-extension boj-mate-0.0.1.vsix

사용법은?

설치하고 나면 기본 설정만 해주면 된다

익스텐션 아이콘을 클릭하면 나오는 버튼을 통해서 설정을 진행해도 되고, 혹은 설정에서 해도ㅗ딘다.

{
  "bojmate.username": "your_boj_username",
  "bojmate.language": "py",
  "bojmate.workspacePath": "/path/to/problems"
}

AI 기능을 쓰고 싶으면 API 키도 설정해주면 된다:

{
  "bojmate.ai.enabled": true,
  "bojmate.ai.baseUrl": "https://api.openai.com/v1",
  "bojmate.ai.apiKey": "your_api_key",
  "bojmate.ai.hintLevel": "algorithm"
}

이후 사용법은 정말 간단하다:

  1. 사이드바에서 문제 번호 입력
  2. "생성" 버튼 클릭
  3. 언어 선택
  4. 코딩 시작
  5. Ctrl+Shift+T로 테스트
  6. 제출!

프로젝트 배경

이 프로젝트는 BOJ-extension이라는 익스텐션에서 영감을 받아 시작했다. 기존 익스텐션을 쓰다가 "이런 기능도 있으면 좋겠는데" 싶은 게 생겨서 직접 만들어보기로 했다.

처음에는 단순히 기능 추가 정도로 생각했는데, 점점 욕심이 생기면서 아예 완전히 새로운 아키텍처로 재작성하게 되었다. AI 힌트/피드백, 풀이 타이머, 통계, 코드 제출 기능 등이 추가되면서 꽤 다른 방향으로 진화했다.

주의사항

하나 중요한 점은, 이 익스텐션이 개인 학습 목적으로 만들어졌다는 거다. 백준 온라인 저지의 공식 제품이 아니고, 웹 스크래핑을 사용한다.

백준은 이용 규칙에서 웹 스크래핑을 금지하고 있는데, 과도한 트래픽을 방지하기 위해 24시간 캐싱을 적용했다. 그리고 백준 측에서 공식 API를 제공하면 바로 전환할 계획이다.

문제의 저작권은 해당 문제를 만든 사람에게 있으니, 문제 본문을 외부에 재배포하지 않도록 주의해야 한다.

오픈소스로

BOJ Mate는 MIT 라이선스로 공개되어 있다. 코드는 GitHub에서 확인할 수 있고, 이슈나 PR도 언제든 환영한다!

    • GitHub: https://github.com/Bae-ChangHyun/BOJ-Mate

 

 

GitHub - Bae-ChangHyun/BOJ-Mate

Contribute to Bae-ChangHyun/BOJ-Mate development by creating an account on GitHub.

github.com

  • VS Code Marketplace: https://marketplace.visualstudio.com/items?itemName=BaeChangHyun.boj-mate
 

BOJ Mate - Visual Studio Marketplace

Extension for Visual Studio Code - 백준 온라인 저지 문제 풀이를 위한 올인원 VS Code 익스텐션 - 문제 검색, 코드 실행, AI 힌트/피드백, 풀이 타이머, 통계, 코드 제출

marketplace.visualstudio.com

 

마무리

알고리즘 공부할 때 반복적인 작업 때문에 짜증났던 경험이 있다면, BOJ Mate 한번 써보길 추천한다. 문제 풀이에만 집중할 수 있게 도와주는 게 이 익스텐션의 목표다.

앞으로도 계속 개선해나갈 예정이니, 사용하다가 불편한 점이나 추가되면 좋을 기능이 있으면 GitHub Issues에 알려주면 좋겠다!

백준 문제 풀이, 이제 좀 더 편하게 해보자!

728x90

'알쓸신잡' 카테고리의 다른 글

ClaudeCode 로컬 모델 사용법  (0) 2026.02.25
Cloudflare R2 가입 & 설정 가이드  (0) 2026.02.05
Claudian-옵시디언에서 Claude Code 사용하기  (0) 2026.02.04
Daggr - HuggingFace의 새로운 AI 워크플로우 도구  (0) 2026.02.02
Microsoft VibeVoice-ASR  (0) 2026.02.02
'알쓸신잡' 카테고리의 다른 글
  • ClaudeCode 로컬 모델 사용법
  • Cloudflare R2 가입 & 설정 가이드
  • Claudian-옵시디언에서 Claude Code 사용하기
  • Daggr - HuggingFace의 새로운 AI 워크플로우 도구
창빵맨
창빵맨
  • 창빵맨
    Let's be Developers
    창빵맨
    로그인/로그아웃
  • 전체
    오늘
    어제
    • 분류 전체보기 (484)
      • 알쓸신잡 (90)
      • ML & DL (85)
        • Computer v.. (22)
        • NLP (22)
        • 파이썬 머신러닝 완.. (3)
        • 개념정리 (38)
      • 리눅스 (22)
      • 프로젝트 (29)
        • 산불 발생 예측 (6)
        • 음성비서 (12)
        • pdf 병합 프로그.. (0)
        • 수위 예측 (5)
        • 가짜 뉴스 분류 (5)
        • 전력사용량 예측 (1)
      • 코딩테스트 (217)
        • 프로그래머스[Pyt.. (17)
        • 프로그래머스[Fai.. (3)
        • 백준[Python] (160)
        • 이것이취업을위한코딩.. (18)
        • 파이썬 알고리즘 (19)
      • 데이터분석실습 (25)
        • 데이터 과학 기반의.. (18)
        • 헬로 데이터 과학 (7)
      • 메모장 (0)
      • 잡담 (4)
  • Blog

    • 🏠 Home

    ✏️글쓰기
    💻 관리

    Personal

    GITHUB
    Instagram
  • 공지사항

  • 인기 글

  • 태그

    이코테
    BFS
    백준
    그리디
    이분탐색
    파이썬
    나동빈
    DFS
    이것이취업을위한코딩테스트다
    dp
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
상단으로

티스토리툴바