Open-source project
tony9402/baekjoon avatar
tony9402/baekjoon

tony9402/baekjoon: a curated Baekjoon problem set for coding-test preparation

코딩테스트 대비 문제집(Baekjoon Online Judge)

6,418 stars1,201 forksC++MIT

At a glance

What is it?
The repository is a curated index of Baekjoon Online Judge problems grouped by algorithm tag, with recommended picks and a separate solution repository. It is a study map, not a judge and not a tutorial.
Who is it for?
Adopt it if you already know the basics of an algorithm and need a ranked list of Baekjoon problems per tag, and if you accept that the problem statements live on Baekjoon rather than in this repository. Do not adopt it if you are looking for algorithm explanations, for a running judge, or for a solution archive inside the same repo, because the README points to link_for_study.md for theory and to tony9402/algorithm-solutions for code.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly C++, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What tony9402/baekjoon actually is, and who it is for

This repository is a problem set, not a solver and not a judge. The README describes it as a collection of problems that are likely to appear in coding tests, grouped by algorithm tag, with a marker on the problems the maintainer considers worth solving before moving on. The stated audience is people preparing for Korean company coding tests who already have some algorithm background; the README explicitly tells beginners to study an algorithm first using the link collection in link_for_study.md rather than starting here.

The scope is deliberately bounded. The README warns that algorithm coverage differs by company, so nobody needs to finish every tag, and it points readers at CodingTest.md for a summary of algorithm categories seen in recent company tests. That file is described as compiled mostly from second-hand accounts, so the README itself flags that some entries may be missing or wrong. Treat the tag list as a study plan, not as a specification of any one employer's test.

The tag table: 23 algorithm directories and what the numbers mean

The core of the repository is a table mapping a sequence number and an English tag to a Korean tag name, a directory under algorithms/, a recommended problem count, a total problem count, and a status badge. The README states plainly that the sequence number has nothing to do with study order, so the numbering is an identifier, not a curriculum.

The counts vary widely. Trie lists 5 recommended out of 9 total, and Dynamic Programming On Trees lists 4 out of 8, while Graph Traversal lists 31 out of 96 and Brute Force 33 out of 94. Every row in the README's table carries the same Doing status badge, and the README links to status.md for the current progress. The practical reading is that a small tag is a short sitting and a large tag is a project; picking Graph Traversal first because it has the most problems is a good way to stall.

Each tag directory holds the problem list itself. The README does not reproduce the per-problem tables, so the directory contents, not the README, are the thing you actually work from.

How the repository is put together and kept current

The repository is a static Markdown corpus plus tooling. Top-level entries include algorithms/ for the per-tag problem lists, solution/ for solution files, markdown/ and scripts/ for generation, baekjoon_utils/ for shared code, and the documents CodingTest.md, algorithm_list.md, link_for_study.md, guideline_for_contribute.md, status.md and update_log.md.

The README carries a badge for a workflow named Auto Update README, defined in .github/workflows/auto_update.yml, which is what regenerates the README from the underlying data. Two further workflow badges, for auto_solution_update.yml and auto_pick.yml, are commented out in the README source, and picked.md is linked with a BETA label. So the automation exists, but part of it is switched off in the published README, and the picked.md page is presented as a beta surface rather than a finished one.

The contribution path has moved. The README states that solutions should no longer be uploaded to this repository but submitted as pull requests to tony9402/algorithm-solutions, and that solutions already merged into main here have been migrated. A pull request opened against this repository's solution/ directory today is therefore likely to be redirected.

Getting the problem set onto your machine

There is nothing to install in the usual sense. The README documents no package, no CLI and no build step; the deliverable is Markdown that you read on GitHub or clone locally. The one command worth running is a clone, which gives you the tag directories, the study link collection and the status file in one place.

A shallow clone is enough because you are reading text, not building the tooling.

bash
git clone --depth 1 https://github.com/tony9402/baekjoon.git
cd baekjoon
ls algorithms

The listing should show the tag directories named in the README table, such as data_structure, greedy, graph_traversal and trie. From there, open one directory and read its problem table; the README's own links point at those paths, for example ./algorithms/trie. If you want the study material rather than the problems, read link_for_study.md, which the README names as the place to learn an algorithm before attempting the set.

Where this repository stops being the right tool

The README is explicit that it does not explain algorithm concepts, and it repeats that point twice: the tag sections contain no conceptual explanation, and beginners are sent to link_for_study.md. If you learn by reading an explanation next to each problem, this repository will not do that for you.

The second limitation is the upstream dependency. The README states that Baekjoon has shut down its service, that archived copies exist, and that it is expected to be revived at some point, which is why the repository is being kept. Every problem link in every tag directory points at acmicpc.net. If those pages are not reachable when you study, the tables become a list of problem numbers with no statements to read. The README does not document a fallback for that case.

Third, this is not a solution archive. Solutions live in the separate tony9402/algorithm-solutions repository, and the README says merged solutions were moved there. Anyone who cloned this repository expecting working reference code in solution/ should check what remains before relying on it. The README does not state which languages the current solution set covers.

How it differs from a general Baekjoon solution archive

A typical Baekjoon solution repository is organised around the author: one folder per problem, one file per problem, ordered by problem number, and its value is the code. This repository is organised around the reader: one folder per algorithm tag, ordered by topic, and its value is the selection. The README's stated selection rule is to pull as many problems from each tag as could plausibly appear in a coding test and to mark the ones worth finishing before moving on.

That difference decides which one you want. If you have a specific problem number and want to compare implementations, a solution archive is the right shape. If you have a free weekend and a tag you are weak at, a tag directory with recommended picks answers a question a solution archive never asks: which of these hundred problems should I actually do. The cost of the topic-first layout is that you cannot look anything up by problem number across the repository, and the README does not describe an index that would let you.

Maintenance, licence and the cost of keeping up

The last push to the default branch was on 2026-09-21, so the repository is being updated. The README describes the repository as something that will be updated steadily, and the README itself is regenerated by the Auto Update README workflow, which is consistent with that.

The licence is MIT, which permits reuse, modification and redistribution provided the copyright notice and permission notice are preserved. That matters if you want to fork the tag tables into your own study site. It does not settle anything about the problem statements: those belong to Baekjoon and to the original problem setters, and the MIT file here covers this repository's contents, not third-party problem text. If you plan to republish problem statements rather than links, that is a separate question the licence in this repository does not answer.

The upgrade cost is low in the ordinary sense, because there is no dependency to bump. The real cost is editorial: the README's own note that company test patterns differ means the tag list ages as hiring tests change, and CodingTest.md is the file that would need updating when they do.

Editorial conclusion

Adopt it if you already know the basics of an algorithm and need a ranked list of Baekjoon problems per tag, and if you accept that the problem statements live on Baekjoon rather than in this repository. Do not adopt it if you are looking for algorithm explanations, for a running judge, or for a solution archive inside the same repo, because the README points to link_for_study.md for theory and to tony9402/algorithm-solutions for code. Before starting, open one tag directory such as algorithms/trie and confirm that its table still links to problems you can reach on acmicpc.net, since the README notes the site was shut down and is expected to return.

Frequently asked questions

Does tony9402/baekjoon contain algorithm explanations?

No. The README states that the tag sections do not explain algorithm concepts and directs readers to link_for_study.md, a collection of study links, to learn an algorithm before attempting the problems.

Where do I submit a solution for tony9402/baekjoon?

The README says solutions should be submitted as pull requests to the separate tony9402/algorithm-solutions repository, not to this one, and that solutions already merged into main here have been migrated there.

Do I have to solve every algorithm tag in tony9402/baekjoon?

The README says no. It notes that algorithm types differ from company to company and advises choosing the tags that match the company you are applying to, optionally using the recommended problems within each tag.

Official sources

  1. Issues
  2. License: MIT
  3. README
  4. tony9402/baekjoon on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/tony9402-baekjoon.svg)](https://hysenlabs.com/projects/tony9402-baekjoon)