백준 허브는 LeetCode의 개인 풀이를 github에 자동 푸시해주는 LeetHub에서 영감을 받아 만든 프로젝트입니다. 백준, 프로그래머스, goormlevel를 통해 알고리즘 공부를 하시는 분들이 더욱 쉽게 코드를 저장하고 관리할 수 있게 하도록 만들었으며, 오픈소스 프로젝트로 여러분의 조언과 참여를 환영합니다.
BaekjoonHub is a chrome extension that automatically pushes your code to GitHub when you pass all tests on a Baekjoon Online Judge problem. This project was based off of LeetHub, a similar extension for Leetcode.
👉 예시 Repository 보러 가기- 크롬에서 설치 후 우측 상단의 popup 버튼을 클릭합니다.
- "Authorize with GitHub" 버튼을 누르고 인증을 완료하면 Repository 연동 화면이 표시됩니다.
- Repository를 신규로 만들거나 기존에 존재하는 Repository에 연동 가능합니다. (신규 Repository 생성시 visibility 기본값은 private으로 되어있습니다)
- 디렉토리 구조를 플랫폼별로 또는 언어별로 하는 옵션이 있습니다.
- Get Started 버튼을 누르면 링크가 완료됩니다.
- 이후 제출화면이 감지되면 자동으로 업로드됩니다.
백준허브는 Github API를 이용합니다.
코드가 제출되면 정답여부를 식별하고 제출된 코드와 메타데이터를 파싱해서 Github API를 통해 Repository에 반영합니다.
백준허브는 기본적으로 풀이 채점 후 정답임을 감지하여 작동합니다.
다만 SW Expert Academy 플랫폼은 정답을 맞추면 "백준허브로 업로드" 버튼이 생깁니다.
업로드 도중 페이지 이동은 권장드리지 않습니다.
백준의 경우 "내 제출" 목록을 정렬해서 가장 적합한 제출을 업로드하며 비교 요소는 아래와 같습니다.
- 서브태스크가 있는 문제일 경우 점수가 더 높은 제출
- 실행시간이 짧은 제출
- 사용메모리가 적은 제출
- 코드길이가 짧은 제출
- 제출번호가 더 큰 제출(i.e. 최신 제출)
플랫폼 별로 문제 해결 시 파싱 후 저장되는 정보는 다음과 같습니다.
플랫폼 | 문제 메타 정보 | 사용자 제출 정보 |
---|---|---|
백준 |
|
|
프로그래머스 |
|
|
SW Expert Academy |
|
|
goormlevel |
|
|
버그 신고 |
카카오톡 협업방 |