Baekjoon Online Judge
1. 개요
1. 개요
Baekjoon Online Judge(BOJ)는 대한민국의 프로그래머 최백준(ID: baekjoon)이 2010년 3월 19일에 설립한 알고리즘 트레이닝을 위한 온라인 저지이다. 현재는 스타트링크가 소유하고 있다. 사용자가 프로그래밍 문제를 풀고 작성한 코드를 온라인으로 제출하면 즉시 자동 채점을 받을 수 있는 시스템을 제공한다.
이 서비스의 가장 큰 특징은 방대한 규모의 문제은행이다. 기준일 기준 총 33,052개의 문제를 보유하고 있으며, 대한민국의 정보올림피아드나 ICPC와 같은 국내외 주요 프로그래밍 대회의 기출 문제를 다수 포함하고 있어 대회 준비에 널리 활용된다. 또한 누적 회원 수는 36만 명을 넘어섰으며, 총 제출 횟수는 8천만 회를 돌파했다.
사용자는 C++, Python, Java 등 일반적인 프로그래밍 언어부터 Brainfuck, 아희와 같은 난해한 프로그래밍 언어까지 다양한 언어로 문제를 해결할 수 있다. 문제 풀이 외에도 게시판, 그룹 스터디, 문제집 만들기, 블로그 등 활발한 커뮤니티 활동을 지원하는 기능을 갖추고 있다.
초보자들이 문제 번호 순서대로 풀다가 어려움에 빠지는 것을 방지하기 위해, BOJ는 공식적으로 '단계별로 풀어보기' 카테고리를 제공하며 이를 활용할 것을 권장한다. 또한 solved.ac 서비스와의 연동을 통해 문제에 난이도와 알고리즘 분류 태그를 제공하여 사용자가 자신의 수준에 맞는 문제를 선택하는 데 도움을 준다.
2. 역사
2. 역사
백준 온라인 저지는 2010년 3월 19일, 대한민국의 프로그래머이자 알고리즘 대회 참가자인 최백준(ID: baekjoon)에 의해 설립되었다. 초기에는 개인적인 알고리즘 트레이닝과 학습을 위한 플랫폼으로 시작했으나, 국내 정보올림피아드 및 ICPC와 같은 대회 준비생들의 주요 연습장으로 빠르게 자리 잡았다.
사이트는 방대한 문제은행과 자동 채점 시스템을 특징으로 하여 성장했으며, 이후 스타트링크에 인수되어 운영되고 있다. 한국어 사용자를 위한 번역 문제 제공과 활발한 커뮤니티 기능이 확장되면서 국내에서 가장 대표적인 알고리즘 학습 사이트 중 하나가 되었다.
시간이 지남에 따라 단계별로 풀어보기, 문제집, 그룹 기능 등 체계적인 학습 도구가 추가되었고, 다국어 지원 범위도 크게 확대되었다. 이러한 지속적인 발전을 통해 백준 온라인 저지는 단순한 채점 시스템을 넘어서 국내 컴퓨터 과학 교육 및 코딩 테스트 준비에 있어 중요한 인프라로 자리매김하게 되었다.
3. 주요 기능
3. 주요 기능
3.1. 문제은행 및 채점 시스템
3.1. 문제은행 및 채점 시스템
백준 온라인 저지의 핵심 기능은 방대한 문제은행과 자동화된 채점 시스템이다. 이 플랫폼에는 알고리즘 학습과 프로그래밍 대회 준비를 위한 수만 개의 문제가 체계적으로 구축되어 있다. 사용자는 다양한 난이도와 주제의 문제를 선택해 코드를 제출하면, 서버가 즉시 미리 준비된 테스트 데이터를 이용해 정확성, 실행 시간, 메모리 사용량 등을 평가한다.
채점 과정은 제출된 코드를 컴파일하고, 각 문제에 설정된 시간 제한과 메모리 제한 내에서 여러 테스트 케이스를 실행하여 결과를 판정한다. 주요 채점 결과로는 모든 테스트를 통과한 '맞았습니다!!', 출력이 다른 '틀렸습니다', 제한 시간을 초과한 '시간 초과', 허용 메모리를 초과한 '메모리 초과', 실행 중 오류가 발생한 '런타임 에러' 등이 있다. 또한 스페셜 저지 문제는 정답이 여러 개이거나 실수 오차를 허용하는 등 유연한 채점이 가능하다.
이 시스템은 C부터 Python, Java 등 50여 가지가 넘는 다양한 프로그래밍 언어를 지원하며, 각 언어별로 적절한 컴파일러와 실행 환경을 갖추고 있다. 이를 통해 사용자는 자신이 익숙한 언어로 알고리즘을 구현하고 효율성을 검증받을 수 있다. 문제 데이터와 채점 시스템의 안정성은 ICPC나 한국정보올림피아드 같은 주요 대회의 기출 문제를 포함하고 있어 대회 준비자들에게도 신뢰받는 기반이 된다.
3.2. 단계별로 풀어보기
3.2. 단계별로 풀어보기
단계별로 풀어보기는 Baekjoon Online Judge에서 제공하는 공식 학습 코스로, 알고리즘과 자료구조를 체계적으로 익히도록 설계된 문제 모음이다. 총 50개의 단계로 구성되어 있으며, 각 단계는 특정 주제(예: 입출력, 정렬, 다이나믹 프로그래밍, 그래프 이론)에 집중한 5~20개 내외의 문제들로 이루어져 있다. 초보자에게는 문제 번호 순서대로 풀다가 갑작스럽게 마주치는 고난도 문제의 벽을 피할 수 있는 길잡이 역할을 하며, 단계가 올라갈수록 점진적으로 난이도가 상승하는 구조를 가지고 있다.
이 기능은 특히 대한민국의 코딩 테스트 준비나 정보올림피아드와 같은 프로그래밍 대회 기초 학습에 널리 활용된다. 사용자는 자신의 현재 실력에 맞는 단계부터 시작하여 꾸준히 문제를 해결해 나감으로써 필수적인 알고리즘 개념과 자료구조 적용 능력을 키울 수 있다. 일반적인 소프트웨어 개발자 채용을 위한 코딩 테스트 대비 목적이라면 대략 30~35단계 정도까지의 문제를 숙지하는 것이 권장된다.
단계별로 풀어보기는 solved.ac와 같은 서드파티 난이도 체계와는 별개로, BOJ 공식이 선별하고 분류한 문제 집합이라는 점에서 신뢰도를 가진다. 이는 방대한 문제 은행 속에서 체계적인 학습 경로를 잡고자 하는 사용자, 특히 자기 주도 학습을 하는 초심자에게 매우 유용한 도구이다. 사용자는 이 기능을 통해 구현력 기초를 다지고, 점차 백트래킹이나 최단 경로 알고리즘 같은 복잡한 주제로 나아가는 체계적인 연습이 가능하다.
3.3. 문제집 및 그룹 기능
3.3. 문제집 및 그룹 기능
백준 온라인 저지의 문제집 기능은 사용자가 특정 주제나 목표에 맞춰 문제를 직접 선별하여 모아놓은 개인용 목록을 생성할 수 있게 해준다. 사용자는 알고리즘 학습 계획을 세우거나 특정 대회 준비, 혹은 취약한 분야를 집중적으로 연습하기 위해 자신만의 문제집을 만들 수 있다. 이 기능은 특히 체계적인 학습을 원하는 사용자에게 유용하며, 문제집은 공개 또는 비공개로 설정할 수 있어 개인 학습용으로만 사용하거나 다른 사용자와 공유할 수도 있다.
그룹 기능은 여러 사용자가 함께 스터디를 진행하거나 소규모 교육 과정을 운영할 때 효과적으로 활용된다. 그룹 관리자는 그룹 내부에 문제집을 할당하거나 연습 대회를 개최할 수 있으며, 그룹 게시판을 통해 소통하고 그룹 랭킹을 통해 구성원들의 진행 상황을 확인할 수 있다. 이는 학교 동아리, 기업 교육, 혹은 온라인 스터디 그룹이 백준 온라인 저지 플랫폼 위에서 체계적인 알고리즘 학습을 관리할 수 있는 도구를 제공한다.
문제집과 그룹 기능은 solved.ac 서비스와의 연동을 통해 더욱 강력해진다. 그룹이나 문제집에 포함된 문제들의 난이도와 태그 정보를 쉽게 확인할 수 있어, 학습 난이도 조절과 목표 설정에 큰 도움을 준다. 이를 통해 사용자들은 방대한 문제은행 속에서 체계적으로 실력을 향상시킬 수 있는 맞춤형 학습 환경을 구축할 수 있다.
3.4. 게시판 및 커뮤니티
3.4. 게시판 및 커뮤니티
백준 온라인 저지는 다양한 게시판과 커뮤니티 기능을 제공하여 사용자 간의 활발한 지식 공유와 소통을 지원한다. 이는 단순한 문제 풀이 사이트를 넘어 학습자들이 함께 성장할 수 있는 생태계를 조성하는 데 중요한 역할을 한다.
사이트 내에는 질문과 답변이 오가는 게시판이 활성화되어 있어, 문제 풀이 중 막히는 부분이나 알고리즘 개념에 대한 의문점을 다른 사용자들에게 물어볼 수 있다. 또한, 블로그 기능을 통해 유저들은 자신의 문제 해결 방법이나 알고리즘 공부 경험담, 심층적인 해설 글을 작성하여 공유할 수 있다. 이를 통해 초보자는 고수들의 풀이 방식을 배울 수 있고, 고수들 역시 자신의 지식을 정리하며 커뮤니티에 기여하는 선순환 구조가 만들어진다.
사용자들은 그룹 기능을 활용해 학교 동아리나 스터디 팀을 구성할 수 있다. 그룹 내에서는 전용 문제집을 만들어 구성원들이 함께 풀어야 할 문제를 선정하거나, 그룹 내 랭킹을 통해 학습 동기를 부여받을 수 있다. 이 외에도 사이트 전반에 걸친 위키 기능은 알고리즘 개념이나 문제에 대한 다양한 정보를 수록하는 공간으로 활용된다. 이러한 다각도의 커뮤니티 기능은 알고리즘 학습의 고립감을 줄이고 협력적 학습 환경을 제공하는 데 기여한다.
4. 지원 언어
4. 지원 언어
Baekjoon Online Judge는 알고리즘 문제 풀이를 위해 매우 다양한 프로그래밍 언어를 지원하는 것이 주요 특징이다. C, C++, 자바, 파이썬과 같은 대중적인 언어는 물론, 브레인퍽, 아희, 화이트스페이스와 같은 난해한 프로그래밍 언어까지 제출이 가능하다. 공식적으로 선택 가능한 언어 옵션은 70개 이상에 이르며, 이는 ICPC나 한국정보올림피아드 같은 주요 대회에서 허용하는 언어 수를 훨씬 넘어선다.
지원 언어는 크게 언어 그룹별로 세부 버전까지 구분되어 제공된다. 예를 들어 C++는 C++98부터 C++26까지 다양한 표준 버전과 Clang 컴파일러 버전을 별도로 선택할 수 있다. 파이썬의 경우 CPython 구현체와 PyPy 인터프리터 버전이 구분되어 있으며, 자바도 버전별로 지원된다. 이처럼 다양한 환경을 제공함으로써 사용자는 특정 언어의 특정 버전에 최적화된 코드를 작성하고 테스트할 수 있다.
일부 문제는 언어 제한이 있어 특정 언어로만 제출해야 하거나, 반대로 특정 언어의 사용을 금지하기도 한다. 또한 Text라는 특수한 언어 옵션도 존재하는데, 이는 코드를 그대로 출력하는 기능으로, 출력값이 고정된 일부 문제에서만 사용할 수 있다. 이러한 폭넓은 언어 지원은 알고리즘 학습뿐만 아니라 새로운 프로그래밍 언어를 익히는 목적으로도 BOJ를 활용할 수 있는 기반을 마련해준다.
5. 채점 결과 및 문제 태그
5. 채점 결과 및 문제 태그
사용자가 제출한 코드의 채점 결과는 여러 가지 상태로 나타난다. 가장 이상적인 결과는 맞았습니다!!로, 모든 테스트 케이스를 통과했음을 의미한다. 그 외에는 출력 형식이 잘못되었습니다, 시간 초과, 메모리 초과, 출력 초과, 틀렸습니다, 런타임 에러, 컴파일 에러 등이 있으며, 각각 프로그램의 출력 형식 오류, 수행 시간 초과, 메모리 사용량 초과, 과도한 출력, 잘못된 답변, 실행 중 오류 발생, 컴파일 실패 등의 원인을 나타낸다. 서브태스크나 부분 점수 문제에서는 일정 점수를 획득하면 맞았습니다!!를 받을 수 있다.
각 문제에는 다양한 태그가 붙어 있어 문제의 특성을 파악하는 데 도움이 된다. 기본 태그로는 외부 대회에서 가져온 문제임을 알리는 출처, 한국어와 다른 언어로도 문제를 볼 수 있는 다국어, 정답이 여러 개이거나 오차를 허용하는 스페셜 저지, 제출 가능한 언어에 제한이 있는 언어 제한 등이 있다. 또한 서브태스크, 부분 점수, 전체 채점 태그는 채점 방식과 점수 부여 방식을 설명한다.
사용자 활동과 관련된 태그도 존재한다. 자신이 해결한 문제에는 성공 태그가, 시도했으나 맞히지 못한 문제에는 실패 태그가 자동으로 부여된다. 서브태스크 문제에서 부분 점수만 획득한 경우 부분 성공 태그가 붙는다. 그 외에도 무작위성을 통한 해결을 방지하는 랜덤 방지, 푼 문제 수에 반영되지 않는 번외 등의 특수 태그가 일부 문제에 적용된다.
6. solved.ac 연동
6. solved.ac 연동
solved.ac는 Baekjoon Online Judge에 수록된 방대한 문제들에 체계적인 난이도와 분류를 부여하는 부가 서비스이다. 이 서비스는 BOJ와 별도의 운영 주체를 가지고 있지만, BOJ 계정과의 연동을 통해 사용자의 문제 해결 현황을 기반으로 레이팅과 CLASS를 제공한다. solved.ac의 가장 큰 역할은 BOJ의 기존 단점이었던 문제 난이도의 불명확성을 해소하는 것이다.
사용자는 solved.ac 웹사이트나 브라우저 확장 프로그램을 통해 BOJ 문제 페이지에서 각 문제에 부여된 티어(예: 브론즈, 실버, 골드)와 알고리즘 분류 태그를 확인할 수 있다. 난이도는 골드 5부터 루비 1까지 세분화되어 있으며, 사용자들의 투표와 복잡한 레이팅 시스템 알고리즘을 통해 결정된다. 또한 solved.ac는 사용자의 실력 진단을 돕는 'CLASS' 시스템과 단계별 추천 문제 목록을 제공하여 학습 경로를 제시한다.
이러한 연동은 BOJ를 이용하는 대다수의 사용자, 특히 코딩 테스트 준비생이나 알고리즘 초보자에게 필수적인 도구가 되었다. solved.ac의 데이터는 BOJ 공식 기능은 아니지만, 커뮤니티에 의해 널리 받아들여져 사실상의 표준 역할을 하고 있다. 다만, 치팅 행위가 적발될 경우 solved.ac에서는 해당 계정의 레이팅과 CLASS를 영구히 초기화하는 등의 자체 제재를 가하기도 한다.
7. 장점
7. 장점
7.1. 방대한 문제 수
7.1. 방대한 문제 수
Baekjoon Online Judge의 가장 큰 장점은 방대한 문제 수이다. 정보 테이블에 따르면 총 문제 수는 33,052개에 달하며, 이는 국내외 알고리즘 트레이닝 사이트 중에서도 최상위 수준의 규모이다. 이렇게 많은 문제는 알고리즘을 공부하거나 프로그래밍 대회를 준비하는 이용자들에게 풍부한 학습 자료를 제공한다.
문제 은행에는 ICPC, 한국정보올림피아드를 비롯한 각종 대회의 기출 문제들이 체계적으로 수록되어 있어 실전 감각을 기르기에 적합하다. 또한 다이나믹 프로그래밍, 그래프 이론, 자료 구조 등 다양한 주제와 난이도의 문제가 포함되어 있어 초보자부터 전문가까지 모든 수준의 이용자가 자신의 실력에 맞는 문제를 찾을 수 있다.
이처럼 방대한 문제 수는 Baekjoon Online Judge를 알고리즘 학습과 코딩 테스트 준비를 위한 핵심 플랫폼으로 자리매김하게 한 근간이 된다.
7.2. 한국어 지원
7.2. 한국어 지원
Baekjoon Online Judge는 대한민국에서 개발된 서비스로, 한국어 사용자에게 매우 친숙한 환경을 제공한다. 사이트의 모든 메뉴와 안내는 한국어로 구성되어 있으며, 대부분의 문제 지문도 한국어로 번역되어 있다. 이는 영어로 된 알고리즘 문제에 익숙하지 않은 초보자나 학생들이 접근 장벽을 낮추고 쉽게 공부를 시작할 수 있도록 돕는다.
많은 문제들이 국제 대회나 해외 온라인 저지에서 가져온 것인데, BOJ는 이러한 문제들을 적극적으로 한국어로 번역하여 제공한다. 이로 인해 사용자는 언어의 장벽 없이 알고리즘 자체에 집중할 수 있다. 또한 게시판, 블로그, 위키 등 커뮤니티 기능도 한국어로 활성화되어 있어, 문제 풀이에 대한 질문과 답변이 원활하게 이루어진다.
한국어 지원은 BOJ가 국내에서 가장 널리 사용되는 알고리즘 트레이닝 사이트가 된 주요 요인 중 하나이다. 특히 한국정보올림피아드나 대학생 프로그래밍 경시대회 준비생들에게 필수적인 도구로 자리 잡았다. 다만, 일부 번역 문제에서 오역이나 원문과의 미세한 차이가 발생하는 경우도 있어, 사용자는 관련 태그를 확인하는 것이 좋다.
7.3. 다양한 언어 지원
7.3. 다양한 언어 지원
Baekjoon Online Judge는 알고리즘 문제 해결을 위해 매우 다양한 프로그래밍 언어를 지원하는 것이 큰 특징이다. C++, 자바, 파이썬과 같은 대중적인 언어는 물론, 브레인퍽, 아희, 화이트스페이스와 같은 난해한 프로그래밍 언어까지 제출이 가능하다. 이는 단순히 문제 해결을 넘어서 다양한 언어를 학습하고 실험할 수 있는 환경을 제공한다.
지원 언어는 기본적으로 약 70여 개의 옵션으로 구성되어 있으며, C와 C++, 파이썬 등은 여러 버전이 별도로 포함되어 있다. 또한 마인크래프트나 코크와 같이 특정 문제에서만 사용할 수 있는 언어도 존재한다. 이러한 광범위한 언어 지원은 ICPC나 한국정보올림피아드와 같은 공식 대회의 제한된 언어 환경과 대비되는 BOJ만의 장점으로, 사용자에게 더 많은 선택의 자유를 준다.
실제 채점 현황을 살펴보면, 가장 많이 사용되는 언어는 C++, 파이썬, 자바, C 순이다. 그러나 간혹 어셈블리어나 텍스트와 같은 언어로 제한된 쉬운 문제를 발견할 수 있으며, 플래티넘 이상의 고난도 문제를 이러한 마이너 언어로 해결한 사례도 존재한다. 이는 BOJ 커뮤니티의 독특한 문화를 보여주는 예시이기도 하다.
7.4. 활발한 커뮤니티
7.4. 활발한 커뮤니티
백준 온라인 저지는 단순한 문제 풀이 사이트를 넘어 활발한 커뮤니티 기능을 제공한다. 사용자들은 게시판을 통해 문제 풀이에 대한 질문과 답변을 주고받으며, 블로그 기능을 이용해 알고리즘 해설이나 학습 경험을 공유한다. 또한, 그룹 기능을 활용하면 학교 동아리나 스터디 팀을 구성해 공동 학습 목표를 설정하고 진행 상황을 관리할 수 있다.
이러한 커뮤니티 활동은 문제 해결 과정에서 발생하는 어려움을 극복하는 데 큰 도움이 된다. 특히 질문 게시판은 다양한 실력의 사용자들이 모여 서로의 코드를 검토하고 더 효율적인 알고리즘을 논의하는 장이 된다. 많은 유저들이 유튜브나 개인 블로그에 백준 문제 풀이 영상과 해설을 올려 커뮤니티의 지식 공유 범위를 더욱 확장시키고 있다.
기능 | 주요 용도 |
|---|---|
게시판 | 문제별 질문·답변, 오류 신고, 자유 토론 |
블로그 | 알고리즘 해설, 학습 일지, 대회 후기 공유 |
그룹 | 스터디 개설, 그룹 내 문제집 및 대회 관리 |
사용자 간 코드 공개 | 다른 사람의 풀이 방법 학습 및 피드백 |
이처럼 풍부한 소통 채널은 학습자들에게 동기 부여를 제공하고, 정보과학 및 프로그래밍 대회 준비에 있어 고립감을 줄여준다. 백준 온라인 저지의 커뮤니티는 국내 알고리즘 학습 생태계의 중심 중 하나로 자리 잡았다.
8. 단점 및 논란
8. 단점 및 논란
8.1. 문제 데이터 오류
8.1. 문제 데이터 오류
백준 온라인 저지에는 방대한 문제 데이터베이스가 존재하지만, 그 과정에서 문제 데이터 자체에 오류가 포함된 경우가 종종 보고된다. 이는 잘못된 테스트 케이스, 문제 지문의 오역 또는 오타, 입력 형식의 불일치, 특정 언어에 대한 부적절한 메모리 제한 설정 등 다양한 형태로 나타난다. 이러한 오류는 사용자가 올바른 알고리즘을 구현했음에도 불구하고 채점에서 실패하는 결과를 초래할 수 있어 학습에 방해가 된다.
사용자는 발견한 오류를 공식 게시판인 '오타/오역 게시판'을 통해 제보할 수 있다. 그러나 운영진의 인력 부족으로 인해 모든 제보가 신속하게 처리되지는 않는 것이 현실이다. 데이터 추가 요청이나 언어 관련 이슈와 같이 비교적 간단한 수정은 처리되는 반면, 문제 지문 수정이나 스페셜 저지 추가와 같은 복잡한 요청은 처리 지연이 길어지는 경향이 있다. 이로 인해 일부 사용자들은 제보가 무시된다는 인상을 받기도 한다.
이러한 문제 데이터 오류는 온라인 저지의 신뢰성과 직접적으로 연관된 중요한 사안이다. 특히 대한민국의 코딩 테스트 준비나 ICPC와 같은 프로그래밍 대회 연습을 위해 백준을 사용하는 많은 사용자들에게 정확한 문제 조건은 필수적이다. 따라서 지속적이고 체계적인 문제 데이터의 검수 및 관리가 필요하다는 지적이 꾸준히 제기되고 있다.
8.2. 치터 처리 문제
8.2. 치터 처리 문제
치터 처리 문제는 Baekjoon Online Judge가 직면한 주요 운영상의 과제 중 하나이다. 공식 이용 규칙에 따르면, 다른 사용자의 소스 코드를 복사하여 제출하는 등의 치팅 행위가 적발될 경우 제출 삭제 및 일정 기간 제출 금지 등의 제재를 받게 된다. 그러나 실제 운영 과정에서는 자동화된 모니터링 시스템이 부재하여, 이 규정이 유명무실하다는 비판이 지속적으로 제기되어 왔다.
치팅 적발은 전적으로 사용자들의 신고에 의존하고 있으며, 신고 접수 후 운영진의 검토와 처리가 매우 느리게 진행되는 것이 문제점으로 지적된다. 신고에 대한 답변만 평균 일주일 이상이 소요되며, 실제 제재가 이루어지기까지는 한 달 이상의 시간이 더 걸리는 경우가 많다. 또한 제재가 이루어졌는지 여부에 대한 피드백이 사용자에게 체계적으로 제공되지 않아, 운영의 투명성에 대한 의문을 불러일으키고 있다.
이러한 운영상의 한계는 solved.ac와 같은 연동 서비스에서 부분적으로 보완되고 있다. solved.ac는 자체적인 자동화된 치팅 감지 시스템을 도입하고, 신고 처리 절차를 신속하게 진행하여 Baekjoon Online Judge 본사의 대응 지연을 메우는 역할을 하고 있다. 그러나 두 서비스의 운영 주체가 다르기 때문에, Baekjoon Online Judge 플랫폼 내에서의 근본적인 치터 처리 시스템 개선은 여전히 요구되는 과제로 남아 있다.
8.3. 서버 장애 사건
8.3. 서버 장애 사건
백준 온라인 저지는 방대한 트래픽과 대회 운영 중에 여러 차례 서버 장애를 겪었다. 특히 대규모 프로그래밍 대회가 백준 플랫폼에서 진행될 때 서버 부하로 인한 다운 사고가 반복적으로 발생해 참가자들에게 불편을 초래했다.
대표적으로 2019년과 2020년에 열린 UCPC (전국 대학생 프로그래밍 대회 동아리 연합)에서 대회 진행 중 서버가 다운되는 사고가 있었다. 이에 대해 설립자 최백준이 직접 사과문을 게시하며 문제를 해결했다. 또한 2020년 중앙대학교 프로그래밍 경진 대회에서는 데이터베이스 서버의 용량이 가득 차 서버 장애가 발생했으며, 이후 자동 용량 조정 기능을 도입하는 등의 조치가 이루어졌다.
가장 최근에는 2025년 2월 8일 대규모 채점 시스템 장애가 발생했다. 이날 오후부터 거의 모든 제출이 런타임 에러나 틀렸습니다로 처리되는 이상 현상이 지속되었고, 당시 진행 중이던 고려대학교 MatKor Cup 대회에 큰 차질을 빚었다. 채점이 일시 중단된 후 재개되며 해당 시간대의 모든 제출이 재채점되는 과정을 거쳤다. 이 사건은 플랫폼의 안정성에 대한 지속적인 관리의 필요성을 다시 한번 보여주었다.
9. 문제 선정 팁
9. 문제 선정 팁
Baekjoon Online Judge에는 3만 개가 넘는 방대한 문제가 수록되어 있어, 자신의 실력과 목표에 맞는 문제를 선정하는 것이 중요하다. 사이트 자체에서 제공하는 여러 기능과 외부 서비스를 활용하면 체계적인 학습이 가능하다.
가장 대표적인 방법은 사이트 내 단계별로 풀어보기 기능을 활용하는 것이다. 이는 알고리즘 주제별로 난이도 순으로 문제를 분류해 놓은 백준 공식 문제 모음으로, 초보자부터 고급자까지 단계적으로 학습할 수 있도록 구성되어 있다. 또한 다른 유저들이 만든 문제집을 활용하거나, 그룹 기능을 통해 스터디원들과 함께 추천 문제를 풀어보는 것도 좋은 방법이다. 특히 '내가 못 푼 문제들' 목록을 정답자 수 순으로 정렬하여 접근하는 것은 문제의 신뢰성을 확인하는 데 도움이 된다.
solved.ac와의 연동은 문제 선정에 큰 도움을 준다. solved.ac는 각 문제에 브론즈부터 루비까지의 난이도 티어를 부여하고, 사용자의 실력에 맞춘 CLASS 시스템을 제공한다. CLASS는 각 단계별로 필수 알고리즘 문제를 엄선해 제공하므로, 체계적으로 실력을 키우고자 하는 유저에게 적합하다. 난이도별 문제 목록을 직접 탐색하거나, 자신의 레이팅에 맞는 문제를 추천받는 방식으로 활용할 수 있다.
고난도 문제에 도전하고자 하는 경우, '푼 사람이 한 명인 문제'나 '아무도 못 푼 문제'와 같은 목록을 참고할 수 있다. 이는 주로 최근 추가된 대회 문제나 매우 어려운 문제로 구성되어 있으며, solved.ac에서 Unrated 처리되는 경우가 많다. 이러한 문제들은 ICPC나 한국정보올림피아드와 같은 대회를 준비하는 고인물 유저들에게 적합한 도전 과제가 된다.
