12 min read

알고리즘 입문자를 위한 백준/솔브닥(solved.ac) 사용백과

알고리즘 입문자를 위한 백준/솔브닥(solved.ac) 사용백과
본 글은 솔브닥 시즌 업데이트마다 갱신되고 있습니다.
마지막 업데이트 일자 2024. 07. 07.

21년 언저리 즈음 백준에 solved.ac (편의상 솔브닥이라 칭하겠습니다.) 가 정식으로 편입되어서 24년 현재는 완전히 자리를 잡았습니다.

타 OJ에서도 난이도나 문제 추천 시스템 등이 얼핏얼핏 나오기 시작하는 듯 한데, 백준의 엄청난 문제량과 시너지가 잘 맞아 본인에게 맞는 실력의 문제를 쉽게 찾아 연습할 수 있으므로, 이 솔브닥의 사용법에 대해서 정리해보도록 하겠습니다.

솔브닥에서 제공하는 기능이 점점 늘어남에 따라, 필요하다고 판단한 부분만 요약 제시합니다.

솔브닥이란?

shiftpsh - Suhyun Park
Suhyun Park - Software Engineer · Graphic Designer

서강대학교 재학생이신 박수현님께서 개발하신 백준 온라인 저지의 확장 프로그램입니다. 실력을 어느정도 인정받은 사용자들이 문제의 난이도에 투표하여 해당 문제의 난이도를 결정하는 시스템으로 되어 있으며, 현재 2만개가 넘는 문제에 난이도가 매겨져 있습니다.

연동하기

백준 메인 화면에서 오른쪽 위를 보시면, 조그맣게 설정 메뉴가 존재합니다. 설정 메뉴로 진입하겠습니다.

저는 추가 확장을 설치하여 BOJ Extended 항목이 있으나, 무시하셔도 됩니다.

설정에서 solved.ac로 이동, 사용하기 버튼을 눌러 솔브닥과의 연동을 활성화 시켜 줍니다.

solved.ac
알고리즘 문제해결 학습의 이정표 🚩 Baekjoon Online Judge 문제들의 난이도 및 티어 정보를 제공하는 사이트입니다.

보편적으로 백준보다 solved.ac를 더 자주 접속하게 됩니다.

메인 메뉴

최초 접속시 본인의 문제해결 현황 등을 확인하실 수 있습니다. 아래에는 <랜덤 마라톤> 이라는 섹션이 존재합니다.

랜덤 마라톤

solved.ac에서 랜덤하게 문제를 선정해 매주 추천해 줍니다. 문자 그대로 랜덤성이 있기 때문에 한국어가 아닌 문제가 포함되거나 하는 경우가 있습니다. 랜덤 마라톤을 계속 해결하는 경우 난이도가 점점 올라간다고 알고 있습니다.

(저 개인으로서는 랜덤 마라톤을 열심히 풀지는 않습니다 ㅋㅋ)

프로필

메인 메뉴에서 본인 id를 누르시거나, 상단바 > 프로필사진 > 프로필사진 순으로 접근할 수 있는 메뉴입니다.

사용자에 대한 정보를 보다 세세하게 표현합니다. 한때는 경험치로 표기되었으나, 개편 이후로 이제 레이팅으로 티어를 구분해 표시해줍니다.

  • 배경
  • 프로필사진
  • 닉네임 옆의 뱃지
  • 문구

등은 커스텀 가능한 요소이며, 이중 일부 요소들은 특정한 조건을 달성할 때에 지급되어 본인 취향에 맞게 꾸미실 수 있습니다.

개요

본인 프로필의 티어 를 결정짓는 부분입니다. 티어가 어떻게 계산되어 지는지에 대한 세부적인 설명을 제공합니다. 솔브닥의 티어 계산은

  • 상위 100문제의 난이도 합
  • CLASS 자격 취득
  • 문제 해결 수
  • 난이도 평가에 기여한 수

를 기준으로 계산됩니다. Bronze V 문제를 해결한 경우 1점, IV는 2점... 이렇게 1점씩 올라가는 난이도 상수를 부여받습니다. 난이도 계산의 특성상 지금 제 프로필에서는 Platinum IV 이하의 문제는 풀어도 점수가 올라가지 않습니다.

스트릭

깃허브의 잔디기르기와 본질적으로 동일합니다. 매일 새벽 6시 갱신되는 지표로서, 며칠동안 연속으로 문제를 해결하는지를 수치화해줍니다.

00시 이후 06시 이전에 문제를 해결하더라도, 전날의 스트릭으로 계산됩니다.

일정 일수 이상 스트릭을 달성하는 경우 제공되는 배경이 존재합니다.

분포

지금까지 해결하였던 모든 문제에 대해서 통계치를 제시해 줍니다.

  • 어떤 난이도의 문제를 얼마만큼 풀었는지
  • 어떤 알고리즘 분류에 속하는 문제를 얼마나 풀었는지
  • 해당 알고리즘 기준의 레이팅이 어느정도인지

부족한 부분을 메꿔나가는 재미가 있습니다만, 보편적으로 Platinum 티어 이전에는 그래프가 뾰족뾰족한 경향성이 있습니다.

프로필>히스토리

최초 연동시부터 남아있는 기록을 확인할 수 있습니다.

  • AC Rating 기준
  • AC Rating 으로 계산된 등수 기준
  • 푼 문제 기준
  • 난이도에 기여한 문제 수 기준

통계를 확인할 수 있습니다.

아레나

최근에는 조금 뜸해진 것 같습니다만, codeforces의 그것과 비슷하게 시간제한을 걸고 문제를 해결해 점수를 매기는 서비스입니다.

백준의 [대회] 탭에서 볼 수 있는 대회들 중 일부가 아레나로 병행 진행됩니다.

프로필 우측에 자그맣게 있는 [아레나] 항목으로 표시 모드를 변경할 수 있으며,

본인이 출전한 대회를 기반으로 점수를 매겨 표시해줍니다.

문제

solved.ac 의 가장 큰 존재이유중 하나입니다.

  • 레벨 : 적합한 난이도에서 연습할 수 있습니다.
  • 태그 : 유형별로 연습할 수 있습니다.
  • 새싹 : 알고리즘 문제해결을 처음 시작하는 경우를 위한 문제들입니다.
  • CLASS : 추후 설명합니다.
  • 북마크 : 내가 북마크 매겨둔 문제를 확인할 수 있습니다.

새싹

알고리즘 문제해결을 처음 시작하는 경우에 적합한 문제들을 선별해둔 문제집입니다. 프로그래밍 언어의 학습에 적합한 저난이도 문제들로 구성되어 있습니다.

CLASS

알고리즘 문제해결의 자격증같은 제도입니다.
숫자가 높을수록 보다 고난이도의 문제들로 구성되어 있으며, 요구하는 일정량의 문제수를 해결하면 자격을 인정받습니다.

  • 일반 문제 : CLASS의 취득에 필요합니다
  • 에센셜 문제 : 은장을 다는데 필요합니다 (Class 7+)
  • 전체 문제를 해결 : 금장을 다는데 필요합니다 (Class 7++)

클래스는 레이팅 점수에 크게 가산됩니다. (단계마다 50점 가량)

기여

Platinum V 이상의 사용자 티어를 달성한 사용자들을 대상으로, 문제의 난이도 선정에 참여할 권한이 부여됩니다. 해당 티어를 달성하지 않은사람들도 투표를 진행할 수 있으나, 난이도 계산에 반영되지 않는 것으로 알고 있습니다.

난이도 기여를 하는것이 커뮤니티 전체에 기여하는 것으로 이어지기 때문에, 적극적인 난이도 기여를 권장합니다.

solved.ac - 난이도 책정 가이드라인 – v2
알고리즘 문제해결 학습의 이정표 🚩 Baekjoon Online Judge 문제들의 난이도 및 티어 정보를 제공하는 사이트입니다.

난이도 기여 가이드라인을 지켜 기여해주세요!

검색창

난이도가 매겨진 문제들 중에서 검색할 수 있습니다. 푼 사람 수, 난이도 등을 적절히 조합하면 소위 말하는 "백준 랜덤 디펜스" 를 하실 수 있습니다.

최근에는 랜덤 마라톤 기능이 들어오기도 했고, 랜덤디펜스를 하고 싶은 경우 별도의 브라우저 확장 프로그램들이 잘 마련되어 있기는 합니다.

특수문자를 적절히 활용하여 아래와 같은 검색 쿼리를 제작할 수 있는데,

  • Gold V ~ Gold I 사이의 문제
  • 100명 이상이 해결한 문제
  • 내가 풀지 않았던 문제

를 검색한 쿼리입니다.

랭킹

개인 / 단체의 등수를 확인해 볼 수 있습니다. 여담으로 2024년 넘어오고 국민대학교의 성장세가 쉽지 않은것 같습니다. 회장으로써 도태되지않도록 노력해야...

설정

상단 프로필 아이콘에서 들어올 수 있으며, 다양한 표기 설정을 건드릴 수 있습니다. 한번쯤 둘러보시는걸 추천드립니다.

코인샵

매일 문제를 해결하거나 랜덤 마라톤을 성공할 때마다 일정량의 재화를 주는데, 해당 재화를 교환할 수 있는 상점입니다.

주로 스트릭 프리즈 를 구매하러 많이 방문하게 됩니다.

  • 이미 지나가서 얻을수 없는 일부 대회의 배경
  • 프로필 란을 꾸밀 수 있는 치장 상품
  • 문제를 해결하지 못했더라도 스트릭이 깨지지 않게 해주는 "스트릭 프리즈"
  • 이벤트 등에 참여하기 위한 재화
    • 2022 만우절 "한별포스" 강화
    • 빼빼로 만들기

등을 구매할 수 있습니다.

첨언

국내 PS를 사실상 견인하고 있다는 표현을 22년도때 했었는데, 최근에는 해외에서도 알음알음 사용하는 유저가 늘어나고 있는듯 합니다.

요즘은 거의 대부분 사용하고 있는듯 하긴 하다만, 한번에 정리해서 깔끔하게 설명하는 가이드라인이 하나쯤 있었으면 하여 N년째 유지보수하고 있습니다.

베타 시즌부터 참여해온 사람은 아니지만, 그래도 3년간 solved.ac이 발전되는 모습을 글 수정할때마다 보고는 합니다.

다들 많이많이 사용해주십사 주접을 부려보았습니다.

감사합니다.