Good Bye, BOJ! 개최 후기

대회보다 온라인 저지가 먼저 없어졌습니다.

서론

Good Bye, BOJ! / Hello, BOJ! 대회는 2019년부터 매년 연말연시에 백준 온라인 저지에서 개최(하는 것을 목표로)하는 행사입니다.

운영진 풀이 7년째 거의 변함이 없는 점에는 장단점이 모두 있습니다. 가장 큰 단점은 시간이 지남에 따라 운영진들이 점점 PS와 멀어지고 있어 언제든지 대회가 열리지 않을 수 있다는 것입니다. 실제로 2025년 2월에 개최한 Hello, BOJ 2025! 와 2025년 12월에 개최한 Good Bye, BOJ 2025! 는 여러 사정으로 열리지 못할 뻔했습니다. 대회보다 온라인 저지가 먼저 없어지는 건 예상 못 했지만…

반면, 이제는 다들 고일 만큼 고여서 적당한 규모의 온라인 대회 정도는 운영진 모집부터 대회 개최까지 일주일 안에 해낼 수 있다는 장점 아닌 장점도 있습니다. 이 대회는 이러한 장점을 가장 잘 보여주는 케이스였습니다.

대회 준비 시작

BOJ가 머지않은 시일 내에 서비스를 종료할 것이라 짐작하고 있었고, 언젠가 그런 날이 온다면 대회 한 번 열고 보내줘야겠다고 오래전부터 생각하고 있었습니다.

4월 15일 15시 14분에 BOJ 서비스 종료 공지가 뜬 것을 보고, 바로 다음 날인 4월 16일부터 함께 대회를 개최할 사람을 모집하기 시작했습니다. 대회 전날까지 운영진이 계속해서 늘어나는 것을 보며 의아해하신 분들이 계시던데, 이는 부족한 시간 안에서 문제의 완성도를 최대한 끌어올리기 위해 계속해서 검수자를 모집한 결과였습니다.

4월 16일 14시 15분에 운영진 모집을 시작함과 동시에 저와 김준겸(ryute), 이종서(leejseo)는 대회 개최 공지를 쓰기 시작했습니다. 20시에 공지 초안이 나왔고, 약간의 수정을 거친 끝에 21시 43분에 아래와 같은 공지가 올라갔습니다. 개인적인 감상이지만 이 글은 5달이 지난 지금 다시 봐도 굉장히 잘 쓴 글 같습니다. 하하…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
안녕하세요. "Good Bye, BOJ!" 대회를 지금까지 운영해 온 김준겸(@ryute), 나정휘(@jhnah917), 이종서(@leejseo) 입니다.

모두들 아시겠지만, 백준 온라인 저지가 곧 서비스 종료를 앞두고 있습니다.

시간이 참 빠릅니다.

저희 세 명의 첫 AC는 모두 10년 전입니다. 중학생이었던 사람들이 직장인이 되었고, 그 사이 제출 번호도 6자리에서 무려 9자리가 되었습니다. 그동안 백준 온라인 저지에서 정말 많은 추억을 쌓았고, 여러 좋은 사람을 만나고, 좋은 직장을 구할 수 있었습니다. 돌이켜보면 저희의 지난 10년은 백준과 함께한 10년이라고 해도 과언이 아닐 것 같습니다.

백준 온라인 저지가 사라진다는 것은 많은 분께 갑작스럽고 또 가슴 아픈 소식일 것이라고 생각합니다. 2019년부터 매년 연말대회 Good Bye, BOJ! 를 개최해 왔고, 언젠가 그만하겠다는 생각은 했지만 이런 식으로 끝내게 될 줄은 몰랐습니다.

애정 어린 온라인 저지 하나를 떠나보내는 것은 슬픈 일입니다. 하지만 온라인 저지를 떠나보내게 되었을 때, 어떤 식으로 마무리해야 하는지는 꽤 명확하다고 생각했습니다. 저희가 할 수 있는 가장 멋진 작별 인사를 보내려고 합니다. 비록 연말은 아니지만, 백준 온라인 저지를 저희보다도 많이 사랑하는 분 중 몇몇을 모아 마지막 대회를 열어 보기로 했습니다.

백준 온라인 저지와 마지막까지 함께해 주셔서 감사합니다.

- 대회 링크: https://www.acmicpc.net/contest/view/1675
- 대회 일시: 2026년 4월 26일(일) 18시-22시(4시간)
- 대회 문제 수: 10문제
- 참가 방법: 이번 대회는 별도의 참가 신청을 받지 않습니다. 대회 시작 후 대회 문제에 1번 이상의 제출을 진행하면 참가자로 등록됩니다.
- 이 대회는 악마의 유혹(https://www.acmicpc.net/problem/16075)의 제출 제한이 적용되지 않습니다.

- 마지막 문제가 가장 쉬운 문제입니다.
- 마지막 문제를 제외한 다른 문제는 운영진이 생각하기에 난이도가 낮은 것부터 높은 것까지 정렬되어 있습니다.
- 각 문제에는 배점이 있습니다. 등수는 배점의 합을 우선하고, 동점이라면 패널티를 기준으로 계산합니다. 서브태스크는 없습니다.
- WA당 패널티는 20분입니다. 각 문제의 패널티는 첫 AC 기준으로 계산되므로, 첫 AC 이후의 모든 제출은 패널티에 반영되지 않습니다.

- 별도의 상품은 없습니다. 혹시 생기게 된다면 이 글을 수정하여 안내하겠습니다.
- 대회 종료 후 스코어보드 공개 세션이 있을 예정입니다.

이런 BOJ에서 2019년부터 'Good Bye, BOJ %d!' 대회를 개최할 수 있었던 것은 저희에게 더없는 영광이었습니다. 그동안 대회에 참가해 즐겨주신 분들, 함께 출제와 검수, 운영을 맡아주신 분들, 그리고 이 모든 장을 열어주신 @baekjoon 님께 글로 다 표현할 수 없는 깊은 감사를 전합니다.

이 대회가 BOJ에게 바치는 멋진 작별 인사가 되기를 바랍니다.
Good Bye, BOJ!

공지까지 올렸으니 이제 돌이킬 수 없습니다. 대회 7일 전인 4월 19일에 문제를 확정하는 것을 목표로 문제 모집을 시작했습니다. 실제로는 4월 19일 3시에 문제 모집을 마감한 뒤, 4월 20일 18시 47분에 모든 문제를 확정 짓고 23일 10시에 세팅을 끝냈습니다.

문제 준비

아는 만큼 들리는 노래 2015 라는 영상이 2016년 초에 굉장히 유명했었습니다. 2015년 한 해 동안 인기가 많았던 곡들을 연결해 하나의 노래로 만든 영상입니다. 저도 10년 전에 연말연시의 기분을 느끼며 여러 번 들었던 기억이 있습니다.

이번 대회의 문제 컨셉은 “아는 만큼 보이는 문제” 였습니다. BOJ에서 알고리즘을 공부한 사람들이라면 다들 한 번씩은 풀어봤을 유명한 문제를 오마주해서 문제를 만들었습니다. 문제의 제목뿐만 아니라, 지문에 있는 수많은 하이퍼 링크도 모두 BOJ에 있는 문제와 연결되어 있었습니다. 이에 대한 설명은 뒤에서 더 자세하게 다룹니다.

처음에는 문제 컨셉을 정하지 않고 문제를 모집했지만, 제목이 Good Bye, %s! 형식인 문제 초안이 여러 개 올라오는 것을 보고 컨셉을 이렇게 정했습니다. 문제를 확정한 뒤에 저와 김준겸(ryute), 이상헌(evenharder), 그리고 각 문제의 출제자분들은 지문을 컨셉에 맞게 수정하는 데에 많은 시간을 들였습니다.

수많은 고인물들이 대회 참가를 포기하면서까지 검수에 지원해 주셔서, 가장 어려운 문제를 제외하면 문제 검수는 별문제 없이 잘 진행되었습니다. 가장 어려운 문제였던 “Good Bye, 두 트리!” 의 검수는 대회 전날까지 끝내지 못했습니다. 결국 96vCPU + 384GB 머신에서 $O(N^2)$ 코드를 이용해 모든 입출력 데이터가 정확함을 검증하는 방법을 사용했습니다. 사실 이 방법은 LGCPC 2025 본선 검수할 때도 사용한 유명한(?) 검수 방법입니다.

대회 준비의 전체 일정은 다음과 같습니다.

  • 4/15 15:14 BOJ 서비스 종료 공지
  • 4/16 14:15 운영진 모집 시작
  • 4/16 21:43 대회 개최 공지
  • 4/19 03:00 문제 모집 마감
  • 4/20 18:47 대회 문제 확정
  • 4/23 10:00 문제 세팅 마감
  • 4/26 15:13 문제 검수 마감
  • 4/26 18:00 대회 시작
  • 4/26 22:00 대회 종료
  • 4/26 22:10 방송 슬라이드 완성
  • 4/26 22:15 방송 시작

대회 진행

정말 감사하게도 1500여 명에 달하는 분들이 대회에 참여해 주셨고, 이렇게 많은 사람이 몰렸음에도 불구하고 채점 서버에는 아무런 문제가 없었습니다. 스코어보드 로딩이 느린 건 runs.json을 사용하는 Spotboard 계열의 한계상 어쩔 수 없었습니다. 여기에서 별로 할 이야기는 없으니 문제별 리뷰만 간단하게 적겠습니다.

A. Good Bye, 별 찍기! - 출제/세팅: jhnah917

반복문과 재귀를 공부하는 사람이라면 모두가 풀어본 별 찍기 시리즈입니다. 아래와 같이 세로 길이가 $2N$, 가로 길이가 $4N+2$인 BOJ 로고를 출력하는 문제였습니다.

1
2
3
4
5
6
     *   * *  
    *   *   *
   *   *     *
  *    *     *
 *      *   *
*        * *  

B. Good Bye, 설탕 배달! - 출제: queued_q, 세팅: ryute

제목은 BOJ의 통곡의 벽 중 하나인 설탕 배달 문제에서 따왔습니다. 단계별로 풀어보기의 앞부분에 있으면서 문제 자체도 쉬워 보이지만, 그렇다고 아무 생각 없이 풀면 틀리는 문제라 수많은 초보자를 고생시킨 문제입니다. BOJ 서비스 종료 전에 질문 게시판이 먼저 막히는 바람에 게시판 사진을 문제에 넣지 못한 것이 아쉬웠습니다. 고등학생 때 아래와 같은 질의응답을 본 기억이 있습니다.

Q: 1부터 30까지 다 넣어봤는데 반례가 없어요
A: N = 22가 반례입니다.

C. Good Bye, 토마토! - 출제/세팅: 79brue

토마토는 2013년 KOI 지역본선 초등부와 고등부에 출제된 문제입니다. BFS 연습 문제로 잘 알려져 있으며, 고등부에 나온 2차원 버전은 BOJ에 있는 골드 5 문제 중 두 번째로 많이 풀린 문제입니다.

주제가 요리 대결이기도 하고, 출제자인 79brue가 2017년 KOI 대상을 받았기 때문에 처음에는 2017년 KOI 전국본선 고등부 3번인 요리 강좌를 문제 제목으로 사용하려고 했습니다. 하지만 (제 생각과는 다르게) 요리 강좌가 많이 유명한 문제는 아닌 것 같아서, 토마토로 요리하는 문제로 바꾸었습니다. 대신 요리 강좌는 문제 지문에서 언급했습니다. 이 밖에도 두 심사 위원과 관련된 대회(wookje - 천하제일 코딩대회)와 문제(evenharder)가 하나씩 하이퍼링크로 들어갔습니다.

D. Good Bye, 최소 스패닝 트리! - 출제/세팅: queued_q

최소 스패닝 트리와 관련된 문제라서 제목을 정하는 것은 쉬웠습니다. 풀이의 난이도도 원본 문제와 크게 차이나지 않습니다.

E. Good Bye, Scenery! - 출제: 79brue, 세팅: evenharder

A부터 D까지는 원본 문제의 난이도와 대회 문제의 난이도가 비슷했지만, E에서는 2017 ICPC World Finals의 보스급 문제로 나온 Scenery를 제목으로 사용했습니다. ICPC WF에 어려운 문제는 수도 없이 많은데 이 문제가 언제부터 어떻게 유명해졌는지는 잘 모르겠습니다. solved.ac 가 만들어지기 전부터 유명했던 것은 기억합니다. 2018 IOI 가을 통신교육 때문일 수도 있고, 아니면 제가 모르는 과거 BOJ 슬랙 시절에 밈 같은 존재였을지도 모르겠습니다.

아무튼 문제가 너무 유명한 덕분에 이 문제는 BOJ에 있는 루비 2 문제 중 가장 많이 풀린 문제가 되었습니다. BOJ에서 문제를 열심히 푼 사람들이라면 문제 지문에 있는 사진, 그리고 $N$명의 사진가가 래피드 시티에서 사진을 찍는 스토리를 보며 반가웠을 것입니다.

F. Good Bye, 습격자 초라기! - 출제/세팅: serin

습격자 초라기는 설탕 배달과는 조금 다른 의미로 BOJ의 뉴비 분쇄기로 유명한 문제입니다. 1000번 문제부터 차례대로 문제를 풀면 1006번에 있는 습격자 초라기에서 막힌다는 이야기가 있습니다. 하지만 개인적으로는 1006에서 막히면 그것만으로도 정말 똑똑한 사람이라고 생각합니다. 대부분 1003번 피보나치 함수 또는 1005번 ACM Craft 에서 막히지 않을까요?

사실 이 문제는 제목보다는 문제 지문이 중요합니다. 이 문제에서 언급된 문제는 다음과 같습니다.

  • 대장장이 토르비욘 - BOJ 13361 최고인 대장장이 토르비욘 (2016 NCPC)
  • 고정된 카메라로 매일 밤 자정에 하늘 사진을 찍고 있다가 - BOJ 13310 먼 별 (2016 KOI 전국본선)
  • 1, 2, …, R-L+1마리 - BOJ 17353 하늘에서 떨어지는 1, 2, …, R-L+1개의 별 (제3회 천하제일 코딩대회 본선)
  • 초라기 - BOJ 1006 습격자 초라기
  • 지도 - BOJ 3392 화성 지도
  • 수아는 사탕 - BOJ 2419 사수아탕 (2009 Baltic OI)
  • 연구소 - BOJ 14502 연구소 (삼성 코딩테스트)
  • 특공대 - BOJ 4008 특공대 (2010 APIO)
  • 엔빵 - BOJ 21725 더치페이 (제3회 IDT Cup)
  • 순간 이동 - BOJ 숨바꼭질 시리즈
  • 이동하는 중 - BOJ 이동하기 시리즈

문제의 그림 또한 2016 KOI 전국본선 고등부 4번에 출제된 먼 별의 이미지에 초라기를 합성한 것입니다. 이미지는 GPT-Image-2를 이용해 만들었습니다. 참가자가 생성형 인공지능을 사용하는 것은 허용하지 않지만, 운영진은 자유롭게 사용하는 모순(?)적인 대회입니다.

G. Good Bye, 소가 길을 건너간 이유! - 출제/세팅: queued_q

USACO 2017 February Contest에 출제된 12개의 문제는 소가 길을 건너간 이유 %d 형식의 제목으로 번역되어 BOJ에 업로드되어 있습니다. 이 밖에도 다른 대회에서 비슷한 제목의 문제가 여러 번 출제되었습니다.

  • 2020 UCPC 본선 - BOJ 19545 소가 길을 건너간 이유 2020
  • 2020 Goricon - BOJ 20118 호반우가 길을 건너간 이유
  • 2020 CPC - BOJ 20206 푸앙이가 길을 건너간 이유

이 문제도 F번과 마찬가지로 지문에 여러 문제가 언급되어 있습니다.

  • 소들이 … 모습을 사진에 담았다 - BOJ 5914 Cow Photography (USACO 2011 December)
  • 잉크 통을 엎지르는 - BOJ 16857 잉크를 엎질렀다 (leejseonal ddforces (ryuted for div.1))

H. Good Bye, 요세푸스 문제! - 출제/세팅: onjo0127

큐와 재귀 함수, 점화식을 공부하는 사람이라면 한 번씩은 풀어본 문제인 요세푸스 시리즈에서 따왔습니다. 문제 풀이가 정말 아름답습니다. 당시 최신 모델이었던 GPT 5.5가 풀지 못했다는 점을 생각하면, 여러 방면에서 정말 좋은 문제입니다.

I. Good Bye, 두 트리! - 출제: yclock($\tilde O(N^2)$ 버전) & leejseo($O(N \sqrt N)$ 버전), 세팅: leejseo

이 대회에서 가장 어려운 문제입니다.

백준 온라인 저지에는 제목이 “두 트리”인 문제가 4개 있습니다.

  • BOJ 13341 두 트리
  • BOJ 23052 두 트리 (2021 SNUPC)
  • BOJ 24027 두 트리 (2021 나코더 송년)
  • BOJ 28402 두 트리 (2023 UCPC 본선)

이중 SNUPC에 출제된 BOJ 23052 두 트리는 문제를 matroid intersection으로 모델링한 뒤, 그래프의 성질을 이용해 일반적인 $O(N^3)$ 알고리즘보다 빠른 $\tilde O(N^2)$ 시간에 계산하는 것을 의도한 문제입니다. matroid partition을 이용해서 풀 수도 있지만, 어떤 방법을 쓰더라도 어려운 문제인 건 변치 않습니다. Good Bye, 두 트리! 문제는 $N$의 상한을 3000에서 100000으로 늘린 문제입니다.

제 블로그에 BOJ 23052 풀이를 포함해 매트로이드 문제의 풀이가 몇 개 있어서 그런지, LLM을 이용한 부정행위자들이 제출한 코드에서 재미있는 점을 여럿 발견할 수 있었습니다.

J. Bood Bye, BOJ!

1
2
3
4
5
6
7
다음 중 하나 이상의 문자열을 부분 문자열로 포함하는 문자열 $S$를 구하여라. 단 알파벳의 경우, 대소문자를 구별하지 않는다.

* BOJ
* Baekjoon
* 백준

문자열 $A$가 문자열 $B$의 부분 문자열이라는 것은, $B$의 앞과 뒤에서 문자를 적절히 삭제했을 때 $A$가 되도록 할 수 있다는 뜻이다. 즉, $A$가 $B$의 연속한 구간으로 나타난다면 $A$는 $B$의 부분 문자열이다.

제1회 키파컵의 Happy Birthday, kipa00!, 제1회 논산 코드 페스티벌의 편지 꼭 해다오 같은 문제에서 사용되었던 편지를 쓰는 컨셉의 문제입니다. 문제의 예제 출력에는 운영진들의 편지가 들어 있습니다. BOJ의 마지막 문제에 자신의 이름을 넣을 수 있는 운영진의 특권 아닌 특권입니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
Good Bye, BOJ!
- leejseo

Good Bye, Good Bye, BOJ!
- serin

BOJ에서 11년 동안 정말 재미있었습니다. 그동안 정말 감사했습니다.
- 79brue

BOJ 덕분에 알고리즘 문제 풀이를 즐기는 여러분들과 함께 10년 동안 행복한 추억 정말 많이 만들 수 있었습니다.
Good Bye, BOJ!
- onjo0127

10년 동안 재미있게 놀다 갑니다. 백준님 감사합니다!
- jhnah917

BOJ 유저분들 사랑해요~!
- yclock

BOJ를 통해 많은 것을 배우고 성장할 수 있었습니다. 항상 감사합니다.
Good Bye, BOJ!
- qwerasdfzxcl

BOJ 덕분에 많이 성장했고, 잊지 못할 소중한 추억들도 정말 많이 만들었습니다.
그동안 빌어먹게 신세 많이 졌습니다!
- kyo20111

욱백망자 (욱제님 백준을 망치는걸 자제해주세요) (edited)
- wookje

누가 뭐래도 가장 재밌게 코딩하던 그 순간들을 추억하며,
Good Bye, BOJ!
- junseo

BOJ와 함께여서 행복했습니다! 그동안 맛있는 문제들 정말 잘 먹었습니다! 감사합니다!
이 공간에서 함께 했던 추억은 영원하기를
Good Bye, BOJ!
- stonejjun03

문제 하나에 컴파일 에러와
문제 하나에 출력 초과와
문제 하나에 메모리 초과와
문제 하나에 시간 초과와
문제 하나에 런타임 에러와
문제 하나에 틀렸습니다, 틀렸습니다,
그리고 맞았습니다!!
BOJ의 문제들과 함께 성장할 수 있어서,
BOJ와 함께여서 행복했습니다!
감사했습니다.
Good Bye, BOJ!!
- cs71107

BOJ는 저의 오랜 취미이자, 배움의 장소였고, 또 제 생각들을 펼칠 수 있는 곳이었습니다.
다양한 문제들을 풀어볼 수 있어 행복했고, 또 수많은 쾌감을 느꼈습니다.
제가 낸 온갖 이상한 문제들을 풀어주셨던 분들, 또 BOJ를 통해 저와 교류하셨던 모든 분들께 감사합니다.
마지막으로, Thank you, BOJ.
- cozyyg

짧은 일정 속에서도 Good Bye, BOJ! 대회를 준비해주신 운영진 여러분,
아껴두셨던 소중한 문제를 흔쾌히 내어주신 출제자 여러분,
바쁜 와중에도 시간을 내어 문제를 검수해주신 검수자 여러분,
지금까지 BOJ를 운영해주신 백준님, 그리고 오랜 시간 함께해주신 PS러 여러분,
모두 진심으로 감사드립니다. BOJ와 함께한 시간, 정말 행복했습니다.
- Silverwolf(Numbering)

백준 온라인 저지와 함께한 시간이 제 20대 삶의 거의 전부였습니다.
12년의 세월 동안 이 공간에서 단순히 알고리즘뿐만 아니라 더 나은 인간으로 살아가는 법을 배운 것 같습니다.
저는 삶의 목표를 이곳에서 찾았으니 더 바랄 것이 없겠습니다.
그동안의 여정에 함께할 수 있어서 영광이었고, 저의 여정에 지금까지 함께해 주셔서 감사합니다.

- koosaga

백준 온라인 저지 덕분에 10년 넘도록 problem solving을 즐길 수 있었습니다.
제 인생에 있어서 빼놓을 수 없는 놀이터이자 교류의 장을 가꾸어 주셔서 감사드립니다.

Farewell, Baekjoon Online Judge!

*     ____             __     _
*    / __ )____ ____  / /__  (_)___  ____  ____
*   / __  / __ `/ _ \/ //_/ / / __ \/ __ \/ __ \
*  / /_/ / /_/ /  __/ ,<   / / /_/ / /_/ / / / /
* /_____/\__,_/\___/_/|_|_/ /\____/\____/_/ /_/
*        ____        __/___/
*       / __ \____  / (_)___  ___
*      / / / / __ \/ / / __ \/ _ \
*     / /_/ / / / / / / / / /  __/
*     \____/_/ /_/_/_/_/ /_/\___/
*               / /_  ______/ /___ ____
*          __  / / / / / __  / __ `/ _ \
*         / /_/ / /_/ / /_/ / /_/ /  __/
*         \____/\__,_/\__,_/\__, /\___/
*                          /____/
- evenharder

끝이라는 건 참 익숙해지기 어려운 존재인 듯합니다.

사실 저는 아직 실감이 별로 들지 않습니다.
BOJ를 처음 시작한 때가 바로 어제처럼 생생한데,
막연히 영원히 이어질 것이라 생각했던 장소와, 시간과 작별이라는 걸
오래 함께한 만큼 더 받아들이기 어려운 걸지도 모릅니다.

문제를 풀지 않아도 습관이 된 BOJ 접속을 쉽사리 끊지 못할 것이고,
낯선 화면을 마주하는 것에 적응하지 못하고 새로고침도 해보겠지요.

섭섭하고 아쉬우면서도,
지금껏 여러 문제를 풀고, 대회에 참가하고, 사람을 만나며
변치 않을 기억과, 추억과, 경험을 남기게 해준 BOJ에게
마지막으로 인사를 남깁니다.

헤어짐이 아니라 언젠가 다시 만남을 뜻하는 안녕이었기를 바라며.
안녕, BOJ!
- cgiosy

이별의 의미는 분명 이별하는 사람의 수만큼이겠죠
누군가가 우리의 추억을 가십거리로 소비한다고 한탄하면서도
어제 잊어버린 가십 하나하나에 담긴 마음들을 전부 합하면 남은 생을 바쳐도 모자랄 정도겠죠
우리들은 거친 시대의 흐름에 지나간 모든 것과의 절연을 강요받고
그 속도를 알면서도 잠시 마찰하고 싶다고 생각한 여러분과
나만이 흘릴 수 있는 눈물을 이 자리에 확실히 모아서 외치는
이별하는 사람 수만큼의
GoodBye, BOJ!
- blackking26

같은 취미를 가진 인연들을 만난다든지,
함께 합을 맞춰 팀 대회에서 상을 받아본다든지,
때로는 긴긴 고뇌 끝에 어려운 문제의 답을 알아낸다든지,
동아리를 만들고 대회를 운영하며 알고리즘의 재미를 전파한다든지.

모두 백준 온라인 저지가 없었더라면
만끽하지 못했을 소중한 즐거움이었습니다.

BOJ가 있었기에 지금의 제가 있을 수 있었습니다.
그동안 감사했습니다!
- queued_q

BOJ를 통해 새로운 세상을 접하게 되었고, 오랜 세월을 같이 해왔습니다.
인생을 바꾸었다고 해도 과언이 아닐 만큼 많은 영향을 받았습니다.
저에게 뜻깊은 의미가 있던 플랫폼이었던 만큼,
수많은 분들도 BOJ에서의 각각의 추억을 가지고 있을 것입니다.

BOJ라는 하나의 커뮤니티에서 교류해 주신 모든 분들의 추억을 담아서,
그동안 즐거웠습니다!
Farewell, BOJ!
- lighton

영원할 것 같은 시간들도 TL이 있다는 게 참 슬프네요.
머리로는 MLE가 날만큼 많은 순간이 추억으로 남아 있습니다.
WA를 받던 순간들도 지금 돌아보니 얼마나 즐거웠는지 모르겠습니다.
BOJ와 함께한 모두의 앞날이 언제나 AC이기를 빕니다.

우리의 졸업식에 함께해 준 여러분 모두 감사드립니다.
Good Bye, BOJ!
- SongC

어려운 문제를 풀었을 때의 성취감.
대회에서 간발의 차로 문제를 풀지 못했을 때의 아쉬움.
문제풀이에 대해 의논하며 얻은 소중한 친구들.
대회에 처음으로 문제를 출제해봤을 때의 즐거움.
5년이라는 시간동안, BOJ는 제게 잊을 수 없는 소중한 추억을 만들어주었습니다.
감사했습니다!
Good Bye, BOJ!
- ibm2006

여기까지 Good Bye, BOJ! 대회 운영진들이 남긴 말들이었습니다.

읽어주신 여러분께 감사드리며,

이 대회가 백준 온라인 저지를 보내는 여러분에게
추억을 되돌아볼 수 있는 이정표가 되기를 희망합니다.

이제 대회를 즐겨 주세요!
- ryute

실제로는 정상적인 편지만 예제로 들어갔지만, 문제를 준비하는 과정에서는 아래와 같은 괴상한(…) 편지도 많이 나왔습니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
[Web발신]
너는나를존중해야한다나는백준온라인저지를운영하는사람이며수많은개발자와알고리즘유저들이나를통해성장했고대한민국코딩테스트문화의기반을만든장본인이다수만문제의채점데이터를관리하며공정한평가시스템을구축했고전세계유저들이이용하는플랫폼을직접운영하고있다또한수많은대회와교육의기반이되는사이트를만들어코딩실력향상에기여했다내가이분야에서차지하는위상은그누구도부정할수없다
- 호날두

안녕BOJ야너를처음본순간부터좋아했어대회전에고백하고싶었는데바보같이그땐용기가없더라지금은이수많은참가자들앞에서오로지너만사랑한다고말하고싶어서큰마음먹고용기내어봐매일매일깃허브에서너볼때마다두근댔고온라인저지대회랑해커톤에서도너만보이고너생각만나고지난3월부터계속그랬어니가다른언어랑헤어지고니맘이아파울때내마음도너무아팠지만내심좋은맘두있었어이런내맘을어떻게말할지고민하다가정말인생에서제일크게용기내어세상에서제일멋지게많은사람들앞에서너한테고백해주고싶었어사랑하는백준너내코딩파트너가되줄래?아니나만의최고난이도문제가되어줄래?난너의디버거가될게내일AC받은시점에너채점결과앞에서기다리고있을게너를사랑하는xx이가
(최백준 님이 나갔습니다)
이제 boj 누가 운영해주냐

백준 유저들은 완전히 멘탈이 나가버렸습니다.

평소처럼 문제를 풀고,
평소처럼 제출을 누르고,
평소처럼 맞았습니다!!를 기다리고 있었는데요.

갑자기 백준이 서비스 종료를 발표해버렸거든요.

평소처럼 보던 화면이었는데,
갑자기 평소처럼 볼 수 없게 될 화면이 되어버린 거죠.

PS인들에게 백준은 단순한 사이트가 아니었습니다.

처음으로 1000번 A+B를 맞힌 곳도 백준이었고,
새벽 4시에 “이거 왜 틀림?”을 외치게 만든 곳도 백준이었고,
solved.ac 티어를 보며 이상한 동기부여를 얻던 곳도 백준이었거든요.

그래서 PS 고수들이 기발한 생각을 했는데요.

"그렇다면 마지막으로 대회를 열자."

그렇게 탄생한 것이 바로 Goodbye BOJ였습니다.

그런데 진짜 문제는 여기서부터였습니다.

대회를 열기로 한 순간, 모두가 깨달아버린 겁니다.

서비스 종료까지 남은 시간이 너무 짧았다는 걸요.

평소 같았으면 대회를 하나 열기 위해
문제를 만들고, 검수하고, 데이터를 짜고,
공지와 운영 방식을 정리하고,
참가자들이 납득할 수 있는 난이도 곡선을 만드는 데까지
긴 시간이 필요했습니다.

하지만 이번에는 달랐습니다.

남은 시간은 너무 짧았고,
해야 할 일은 너무 많았습니다.

바로 그 순간, 대회 운영자들이 무식하지만 확실한 아이디어를 냈습니다.

"그냥 우리가 시간을 갈아 넣자."

그때부터 조용한 전쟁이 시작됐습니다.

누군가는 밤새 문제 지문을 다듬었고,
누군가는 반례를 찾아 테스트 데이터를 고쳤고,
누군가는 난이도가 튀지 않도록 문제 순서를 다시 짰습니다.

또 누군가는 공지를 정리하고,
누군가는 운영 방식을 조율하고,
누군가는 마지막까지 “이 풀이 진짜 막히는 거 맞나요?”라고 물으며
검수를 이어 갔죠.

그렇게 짧은 시간 안에
원래라면 불가능해 보였던 대회가 조금씩 모양을 갖추기 시작했습니다.

그리고 마침내, 마지막 대회가 열렸습니다.

사람들은 평소처럼 코드를 짰고,
평소처럼 틀렸고,
평소처럼 다시 고쳤고,
평소처럼 맞았습니다!!를 기다렸습니다.

하지만 모두가 알고 있었습니다.

이번 대회는 평소와 같으면서도,
절대로 평소와 같을 수 없는 대회라는 것을요.

대회가 끝난 뒤에도 사람들은 곧바로 떠나지 않았습니다.

누군가는 마지막 스코어보드를 캡처했고,
누군가는 처음으로 맞았던 문제 번호를 떠올렸고,
누군가는 끝내 풀지 못한 문제를 다시 열어 보았습니다.

그곳에서 우리가 배운 건 단순히 문제를 푸는 법이 아니었습니다.

틀리고, 고치고, 다시 시도하는 법.
혼자 막혔을 때 질문하는 법.
그리고 누군가가 만든 문제 위에서
또 다른 누군가가 성장할 수 있다는 사실이었죠.

그래서 백준은 조용히 문을 닫게 되었지만,
그 안에서 자라난 사람들은 각자의 자리로 돌아가
새로운 문제를 풀기 시작했습니다.

Goodbye BOJ.

그리고 고마웠습니다.

아무말

대회는 별 사고 없이 잘 마무리되었습니다. 급박한 일정 속에서도 대회를 개최하기 위해 힘 써주신 분들, 그리고 지금까지 백준 온라인 저지를 운영해 주신 최백준님께 모두 감사드립니다.

핸들 소속 핸들 소속 핸들 소속
79brue MIT junseo 한양대학교 qwerasdfzxcl 서울대학교
blackking26 서울대학교 kdh9949 Furiosa AI ryute NEXON
cgiosy NEXON koosaga MIT serin KAIST
cozyyg 삼성전자 kyo20111 삼성전자 shiftpsh NEXON
cs71107 서울대학교 leejseo KAIST silverwolf 서울대학교
evenharder Furiosa AI leinad2 서울대학교 songc KAIST
ibm2006 KAIST lighton 서울대학교 stonejjun03 프레스토 리서치 코리아
jhnah917 Quora onjo0127 KAIST wookje Google
jhwest2 서울대학교 queued_q 삼성전자 yclock 서울대학교

저도 대충 서울대/KAIST 나온 것처럼 보이도록 잘 숨어봤는데 성공적이었는지는 모르겠습니다. 대회 운영하면서 똑똑한 친구들을 정말 많이 알게 되었습니다. 덕분에 이 대회도, 그리고 저도 여기까지 올 수 있었습니다.

2026년 1월 19일에 제 블로그에 올라간 이 글을 언급하며, Good Bye, BOJ! 대회 운영진은 BOJ 서비스 종료 소식을 미리 알고 있었던 것이 아니냐는 의문을 제기한 글을 보았습니다. 이제 와서 말하는 거지만, 저 글은 Good Bye, BOJ 2025! 후기를 쓰기 위해 파일을 생성했지만 까먹고 내용을 작성하지도 파일을 삭제하지 않은 채로 커밋해서 올라가게 된 포스트입니다. 히스토리 보존을 위해 삭제하진 않았습니다.

-

그전까지는 한 번도 콘서트에 안 다니다가, 작년 4월을 시작으로 약 1년 반 동안 7번의 콘서트/팬미팅에 갔습니다.

  • 250427 DAESUNG 2025 ASIA TOUR: D’s WAVE IN SEOUL Day 2
  • 260102 DAESUNG 2025 ASIA TOUR: D’s WAVE ENCORE - SEOUL Day 1
  • 260104 DAESUNG 2025 ASIA TOUR: D’s WAVE ENCORE - SEOUL Day 3
  • 260208 2026 G-DRAGON ‘FAM’ MEETING [FAM+ILY : FAMILY : FAM I LOVE YOU] Day 3
  • 260821 BIGBANG 2026-2027 WORLD TOUR <XX : COSMOS> IN GOYANG Day 1
  • 260822 BIGBANG 2026-2027 WORLD TOUR <XX : COSMOS> IN GOYANG Day 2
  • 260823 BIGBANG 2026-2027 WORLD TOUR <XX : COSMOS> IN GOYANG Day 3

약 15년 동안 공부할 때 듣던 노래들을 현장에서 들어보는 것은 정말 좋은 경험이었습니다.

공연을 보면서, 공연하는 가수를 보면서, 그리고 공연을 보는 관객들을 보면서 여러 생각이 들었습니다. 예술은 다른 사람에게 추억과 감동을 주고, 과학과 공학은 세상을 더 편리하게 만들어 줍니다. 제가 전공한 CSE 또한 과학과 공학 그 사이 어딘가에 속하고, 마찬가지로 세상을 더 편리하게 만드는 데에 지난 수십 년 동안 많은 기여를 했습니다. 그러나 Problem Solving이라는 작은 분야는 다른 사람에게 어떤 가치를 줄 수 있을까요? 가만히 앉아서 문제를 푸는 것만으로 어떠한 가치를 창출하기는 어렵습니다. 또한, 온라인 저지에서 푸는 문제는 이미 풀린 문제이기 때문에 인류 지식의 경계를 확장하는 것에도 (직접적으로) 기여하지 않습니다.

가수들은 무대 위에서(또는 사람들 앞에서) 공연할 때 정말 행복해 보였습니다. 제가 무언가를 하면서 그 정도의 행복과 기쁨을 느꼈을 때가 언제였는지도 다시 한번 돌아봤습니다.

두 가지 질문을 한 번에 해결할 수 있는 답을 떠올리는 데에는 오랜 시간이 걸리지 않았습니다. BOJ는 서비스를 종료했지만, 저는 앞으로도 대회를 운영하며 저와 다른 사람들이 좋은 추억을 남길 수 있게 도움을 주려고 합니다. LLM의 발전 속도를 보면 알고리즘 대회가 언제까지 유지될 수 있을진 모르겠습니다.

-

8개의 시즌 동안 총 11개의 대회를 개최했고, 그중 4번의 대회는 오프라인(2023 삼성전자 서울대 공동 연구소, 2024-2025 LG사이언스파크)으로도 개최했습니다. 참 많이도 했네요… 학교에서 학생들을 가르치시는 50대 선생님, 과거에 정말 뛰어난 실력으로 대회를 휩쓸고 다니셨던 40대 직장인, 그리고 고등학생과 중학생까지, 다양한 연령대의 참가자가 한자리에 모여 문제를 푸는 모습을 지켜볼 수 있어서 행복했습니다.

  전체 참가자 오프라인 참가자 운영진
Good Bye, BOJ 2019! 133 0 14
Good Bye, BOJ 2020! 515 0 22
Good Bye, BOJ 2021! 773 0 21
Hello, BOJ 2022! 705 0 20
Good Bye, BOJ 2022! 599 0 25
Hello, BOJ 2023! 272 92 26
Good Bye, BOJ 2023! 284 0 18
Hello, BOJ 2024! 272 84 18
Hello, BOJ 2025! 247 68 15
Good Bye, BOJ 2025! 200 72 15
Good Bye, BOJ! 1501 0 28

각 대회의 난이도 분포는 아래와 같습니다. 노란색 배경은 오프라인 참가자를 선발하기 위한 예선 성격의 대회, 하늘색 배경은 오프라인 참가자를 대상으로 한 대회라서 난이도 분포가 고르지 않을 수 있습니다. 하지만 그 점을 고려하더라도 최단 대회의 난이도 분포는 이상적이지 않았던 것 같은데, 마지막 대회는 예쁘게 잘 나와서 다행입니다.

BOJ가 돌아오면 Hello, BOJ! 를 개최해야 할까요? 그때 가서 생각해 보는 걸로 하겠습니다. 문제와 사람과 시간이 있다면 불가능하진 않아 보입니다.

그동안 수고 많으셨습니다.