UnisquadsU
로그인
홈
이용약관·개인정보처리방침·콘텐츠정책·© 2026 Unisquads
이용약관·개인정보처리방침·콘텐츠정책
© 2026 Unisquads. All rights reserved.

백준 온라인 저지 (r1)

이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.24 05:48

백준 온라인 저지

정식 명칭

백준 온라인 저지 (Baekjoon Online Judge, BOJ)

유형

컴퓨터 프로그래밍 알고리즘 문제 풀이 서비스 웹사이트

공식 웹사이트

https://www.acmicpc.net/

지원 언어 수

67개

지원 언어

C

C++

Python

PyPy

Ruby

Kotlin

Swift

Text

Node.js

Go

F#

PHP

Pascal

Lua

Perl

R

Golfscript

Fortran

Scheme

Ada

awk

Ocaml

Brainfuck

Whitespace

Tcl

Assembly

D

Clojure

Rhino

Cobol

SpiderMonkey

Pike

sed

Rust

Boo

Intercal

bc

Nemerle

Cobra

Nimrod

VB.NET 4.0

Algol 68

befunge

FreeBASIC

Gosu

Haxe

LOLCODE

아희

상세 정보

1. 개요

백준 온라인 저지(Baekjoon Online Judge, BOJ)는 컴퓨터 프로그래밍 알고리즘 문제 풀이 서비스를 제공하는 웹사이트이다. 사용자가 다양한 난이도의 문제를 풀고, 자신이 작성한 소스 코드를 제출하여 자동으로 정답 여부를 채점받을 수 있는 온라인 저지 플랫폼이다.

이 서비스는 주로 정보올림피아드나 대학생 프로그래밍 경시대회와 같은 프로그래밍 대회를 준비하는 사람들과 컴퓨터 과학 및 소프트웨어 공학 학습자들이 알고리즘과 자료 구조를 연습하는 데 널리 활용된다. 공식 웹사이트는 https://www.acmicpc.net/이다.

백준 온라인 저지는 매우 다양한 프로그래밍 언어를 지원하는 것이 특징이다. C, C++, Python, Java, JavaScript 등 주류 언어부터 Ruby, Kotlin, Go, Rust와 같은 현대 언어, 그리고 Brainfuck, 아희와 같은 난해한 프로그래밍 언어까지 총 67개의 언어로 문제 풀이와 코드 제출이 가능하다.

이를 통해 사용자는 자신에게 가장 익숙한 언어로 문제를 해결할 수 있을 뿐만 아니라, 다양한 언어의 문법과 특성을 실전 문제를 통해 익힐 수 있는 환경을 제공받는다.

2. 주요 기능

2.1. 문제 풀이

백준 온라인 저지의 핵심 기능은 방대한 알고리즘 문제를 제공하고 사용자가 직접 코드를 작성하여 풀이하는 것이다. 사이트에는 초보자부터 고급 개발자까지 단계별로 학습할 수 있도록 난이도와 주제별로 분류된 수천 개의 문제가 준비되어 있다. 사용자는 문제를 읽고, 컴파일이 가능한 다양한 프로그래밍 언어로 해답을 작성한 후 시스템에 제출한다.

제출된 코드는 백준 온라인 저지의 자동화된 채점 시스템을 통해 평가된다. 이 시스템은 미리 준비된 여러 개의 테스트 케이스에 대해 사용자의 코드를 실행하여 정확성, 실행 시간, 메모리 사용량 등을 종합적으로 검사한다. 그 결과는 실시간으로 '맞았습니다', '틀렸습니다', '시간 초과', '메모리 초과', '컴파일 에러' 등의 형태로 사용자에게 피드백을 제공한다. 이를 통해 사용자는 자신의 논리적 오류나 코드의 비효율성을 즉시 확인하고 개선할 수 있다.

문제 풀이 과정은 단순히 정답을 맞히는 것을 넘어 최적화와 다양한 접근법을 탐구하는 학습의 장이 된다. 많은 사용자가 같은 문제에 대해 다른 알고리즘이나 자료 구조를 적용하여 더 빠른 실행 속도나 적은 메모리 사용을 목표로 코드를 개선하며 실력을 쌓는다. 또한 각 문제 하단의 게시판을 통해 다른 사용자들의 풀이 방식을 참고하거나 토론할 수 있어 자기 주도적 학습에 큰 도움이 된다.

2.2. 채점 시스템

백준 온라인 저지의 채점 시스템은 사용자가 제출한 소스 코드를 자동으로 평가하는 핵심 기능이다. 이 시스템은 제출된 코드를 서버에서 컴파일하고, 사전에 정의된 테스트 케이스에 대해 실행하여 정확성, 실행 시간, 메모리 사용량을 종합적으로 판단한다.

채점 과정은 크게 컴파일, 실행, 검증 단계로 나뉜다. 먼저 사용자가 선택한 프로그래밍 언어에 맞는 컴파일러나 인터프리터를 사용하여 코드를 빌드한다. 컴파일 에러가 발생하면 즉시 해당 결과를 사용자에게 알린다. 성공적으로 빌드되면, 문제별로 준비된 여러 개의 입력 데이터(테스트 케이스)에 대해 프로그램을 실행한다. 이때 각 실행은 제한된 시간과 메모리 공간 내에서 이루어지며, 이를 초과할 경우 시간 초과 또는 메모리 초과로 처리된다.

채점 결과는 다양한 상태로 표시된다. 정답을 맞힌 경우 '맞았습니다'로, 오답을 출력하면 '틀렸습니다'로 나타난다. 또한 시간 복잡도나 메모리 사용이 비효율적인 경우 '시간 초과'나 '메모리 초과'가 된다. 실행 중 오류가 발생하면 '런타임 에러', 출력 형식이 잘못되면 '출력 형식이 잘못되었습니다' 등의 결과를 제공한다. 이러한 상세한 피드백은 사용자가 자신의 코드 문제점을 파악하고 디버깅하는 데 큰 도움을 준다.

채점 시스템은 온라인 저지의 표준적인 방식을 따르며, 알고리즘 문제 해결 능력을 객관적으로 평가하는 데 중점을 둔다. 모든 채점은 백그라운드에서 큐에 의해 순차적으로 처리되며, 사용자는 실시간으로 진행 상황과 최종 결과를 확인할 수 있다.

2.3. 코드 제출 및 평가

사용자는 문제 페이지에서 소스 코드를 작성하거나 붙여넣어 코드 제출을 할 수 있다. 제출 시에는 해당 문제에서 허용하는 프로그래밍 언어를 선택해야 하며, 백준 온라인 저지는 C부터 아희까지 총 67개의 다양한 언어를 지원한다. 제출된 코드는 서버로 전송되어 즉시 채점 큐에 들어간다.

채점 시스템은 제출된 코드를 여러 개의 테스트 케이스에 대해 실행하여 결과를 평가한다. 각 테스트 케이스에 대해 시간 제한과 메모리 제한을 두고 실행하며, 정답, 오답, 시간 초과, 메모리 초과, 런타임 에러, 컴파일 에러 등의 결과를 판정한다. 모든 테스트 케이스를 통과해야만 최종적으로 '맞았습니다' 결과를 받을 수 있다.

사용자는 '내 제출' 페이지에서 자신이 제출한 모든 코드의 채점 현황과 결과를 실시간으로 확인할 수 있다. 채점이 완료된 코드는 실행 시간과 사용 메모리 정보를 제공하며, 오답인 경우 어느 테스트 케이스에서 실패했는지도 알 수 있다. 이를 통해 사용자는 자신의 알고리즘 효율성을 분석하고 개선점을 찾을 수 있다.

또한, 백준 온라인 저지는 다른 사용자의 정답 코드를 공개적으로 볼 수 있는 기능을 제공하는 경우가 많다. 이를 통해 다양한 문제 해결 접근법과 코딩 스타일을 학습할 수 있으며, 커뮤니티 기반의 학습을 촉진한다.

3. 지원 언어

백준 온라인 저지는 다양한 프로그래밍 언어를 통한 알고리즘 문제 풀이를 지원한다. 서비스는 C, C++, Python, Node.js, Go, Kotlin, Swift 등 현대적인 소프트웨어 개발에 널리 사용되는 언어들을 포함한다. 또한 Ruby, PHP, R, Lua와 같은 스크립트 언어도 지원 범위에 들어간다.

특이하게도 교육적이거나 역사적인 의미가 있는 Fortran, Cobol, Pascal, Ada와 같은 언어들도 채점이 가능하다. 이는 컴퓨터 과학의 역사를 학습하거나 특정 언어에 대한 이해를 넓히고자 하는 사용자에게 기회를 제공한다. 더 나아가 Brainfuck, Whitespace, 아희와 같은 에소테릭 프로그래밍 언어까지 지원하여 프로그래밍 언어 자체에 대한 호기심과 실험을 장려하는 환경을 조성한다.

이처럼 광범위한 언어 지원은 백준 온라인 저지를 단순한 문제 풀이 사이트를 넘어 다양한 프로그래밍 패러다임과 문법을 실험해볼 수 있는 플랫폼으로 자리매김하게 한다. 사용자는 동일한 알고리즘을 서로 다른 언어로 구현하며 언어별 특성과 성능 차이를 비교해볼 수 있다. 공식적으로 확인된 지원 언어는 총 67개에 이른다.

4. 사용자 커뮤니티

4.1. 게시판

백준 온라인 저지의 게시판은 사용자 간의 활발한 정보 교류와 토론을 위한 공간이다. 주로 문제 풀이와 관련된 질문과 답변이 이루어지며, 알고리즘 학습에 도움이 되는 다양한 주제의 글이 올라온다.

게시판은 크게 '질문 게시판', '자유 게시판', '강의 게시판' 등으로 구분된다. 질문 게시판에서는 특정 문제를 풀다가 막히는 부분에 대한 도움을 요청하거나, 다른 사용자의 코드를 리뷰받는 활동이 이루어진다. 자유 게시판은 알고리즘 공부 방법, 각종 대회 소식, 또는 일상적인 이야기를 나누는 공간이다. 강의 게시판은 백준에서 제공하는 알고리즘 강의와 관련된 질문과 논의가 이루어진다.

이러한 게시판 활동은 단순히 문제 해답을 얻는 것을 넘어, 문제 해결 접근법을 배우고 다양한 프로그래밍 언어별 구현 차이를 이해하는 데 큰 도움이 된다. 많은 경험 많은 사용자들이 초보자의 질문에 상세히 답변하며, 이는 백준 온라인 저지가 단순한 채점 시스템을 넘어 학습 커뮤니티로서의 역할을 강화하는 요소가 된다.

게시판을 통해 사용자는 자신의 풀이를 공유하고 피드백을 받으며 실력을 향상시킬 수 있으며, 특히 어려운 문제에 대한 다양한 해결 전략을 접할 수 있다는 점에서 교육적 가치가 높다.

4.2. 랭킹 시스템

백준 온라인 저지의 랭킹 시스템은 사용자의 문제 해결 능력과 활동량을 기반으로 한 경쟁 요소를 제공한다. 이 시스템은 사용자들이 자신의 실력을 객관적으로 파악하고, 다른 사용자와 비교하며 학습 동기를 부여하는 데 중요한 역할을 한다.

랭킹은 주로 사용자가 해결한 문제의 수와 난이도를 종합하여 결정된다. 사용자 프로필에는 '맞은 문제' 수와 '시도했지만 맞히지 못한 문제' 수가 표시되며, 이를 기반으로 한 순위가 공개된다. 또한, 알고리즘 대회나 특정 주제의 문제 풀이 챌린지에서의 성적도 랭킹에 반영될 수 있다. 이러한 방식은 단순히 문제를 많이 푸는 것뿐만 아니라 다양한 난이도와 유형의 문제를 해결하는 종합적인 실력을 평가한다.

사용자 커뮤니티 내에서는 이 랭킹을 통해 자연스럽게 경쟁이 유도된다. 많은 사용자가 자신의 순위를 높이기 위해 더 많은 문제를 풀거나, 자료구조와 알고리즘 공부에 더욱 매진하는 모습을 보인다. 또한, 상위 랭커들의 공개된 소스 코드와 문제 해결 방식을 참고함으로써 학습 효과를 높일 수 있다. 이는 백준 온라인 저지가 단순한 문제 은행을 넘어 활발한 학습 커뮤니티로서 기능하도록 만드는 핵심 요소 중 하나이다.

5. 교육 및 대회

5.1. 알고리즘 강의

백준 온라인 저지는 사용자들이 알고리즘과 자료 구조를 체계적으로 학습할 수 있도록 다양한 교육 콘텐츠를 제공한다. 이 서비스의 핵심 교육 도구는 '단계별로 풀어보기'와 '알고리즘 분류' 기능이다. '단계별로 풀어보기'는 입문자부터 고급 학습자까지 난이도와 주제별로 문제를 단계적으로 구성하여 체계적인 학습 경로를 제공한다. '알고리즘 분류' 기능을 통해 사용자는 정렬, 다이나믹 프로그래밍, 그래프 이론, 탐색 등 특정 알고리즘 유형의 문제들을 모아서 집중적으로 연습할 수 있다.

또한, 백준 온라인 저지는 공식적으로 코딩 테스트와 프로그래밍 대회 준비를 위한 강의 자료와 연계된 문제 세트를 운영한다. 많은 대학교의 컴퓨터공학 및 관련 학과에서 교육 과정의 일환으로 백준의 문제들을 과제나 실습 자료로 활용하고 있다. 이를 통해 학생들은 이론으로 배운 알고리즘을 실제 문제 풀이를 통해 적용하고 이해도를 높일 수 있다. 이 플랫폼은 소프트웨어 개발 역량을 키우고자 하는 학습자들에게 실질적인 프로그래밍 연습장 역할을 지속적으로 수행하고 있다.

5.2. 정기 대회

백준 온라인 저지는 알고리즘 실력을 겨루는 다양한 정기 대회를 개최한다. 가장 대표적인 대회는 매주 열리는 백준 슬래시 대회이다. 이 대회는 매주 토요일 저녁에 진행되며, 참가자들은 제한 시간 내에 주어진 여러 문제를 해결해야 한다. 대회 결과는 실시간 랭킹 시스템에 반영되어 경쟁을 더욱 치열하게 만든다.

이외에도 계절별로 시즌제 대회가 열리거나, 특정 주제나 난이도를 가진 대회가不定期로 개최된다. 이러한 대회들은 코딩 테스트를 준비하는 이들에게 실전 경험을 쌓을 수 있는 중요한 기회를 제공한다. 대부분의 대회는 무료로 참가할 수 있으며, 백준 온라인 저지의 게시판을 통해 공지사항과 결과가 발표된다.

6. 관련 문서

  • 위키백과 - 백준 온라인 저지

  • Baekjoon Online Judge - 공식 웹사이트

  • 한국정보올림피아드 - 공식 웹사이트

  • 코드포스 - 공식 웹사이트

  • 알고스팟 - 공식 웹사이트

  • 프로그래머스 - 공식 웹사이트

  • 리트코드 - 공식 웹사이트

  • 코드업 - 공식 웹사이트

  • SW Expert Academy - 공식 웹사이트

7. 참고 자료

  • ko.wikipedia.org

리비전 정보

버전r1
수정일2026.02.24 05:48
편집자unisquads
편집 요약AI 자동 생성