스파르타코딩클럽 로고
로그인
전체 강의
부트캠프
국비
커뮤니티
블로그
이벤트
수강생 작품
고객센터
기업 서비스
둘러보기
인텔리픽
신입 개발자 채용 공고를 한 곳에서
로그아웃
1661478694635-0823_baekjoon_main.png
아티클

코딩 문제 은행 백준, 그게 뭐죠? 200%활용하기!(알고리즘 테스트, solved.ac)

조회수 9956·4분 분량
2022. 8. 23.

미국의 경우 올해 초까지만 해도 컴퓨터의 프로그램 작성하는 일을 하는 ‘개발자’ 직업이 촉망받고 있었습니다. 하지만 최근 들어 금리가 오르면서 IT기업의 투자가 확연히 감소했으며, 인재 축소 과정도 여러 회사에서 진행하고 있습니다. 대표적으로 OTT회사 ‘넷플릭스’가 직원을 정리해고하는 사례만 보아도 알 수 있듯이 시장이 얼면서 인기가 사그러드는 것처럼 보이고 있습니다.


netflix-layoffs
(출처 : 유튜브)


이에 따라 개발자에 대한 관심이 줄어든 것처럼 뉴스에는 비춰지고 있지만, 여전히 진로로 설정하시는 분들이 점점 늘어나고 있는 추세입니다. 교육부의 '2021년 초·중등 진로교육 현황조사'에 따르면, 중학생 희망직업에서 2020년 11위였던 컴퓨터 공학자·소프트웨어 개발자 순위는 2021년 8위로, 고등학생 희망직업에서는 7위에서 4위로 뛰어오른 것을 확인할 수 있습니다.


개발자를 희망하신다면 C, C++, JAVA, Python 등 굉장히 많은 프로그래밍 언어가 있다는 것을 접해보셨을 것입니다. 하지만 단순히 책을 읽어 개념을 습득하는 것만으론 ‘코딩’이 어떤 것인지 감이 잘 와 닿지 않습니다. 스파르타코딩클럽과 같은 곳에서 열심히 코딩을 익힌 것을 바탕으로 코딩 실력을 더 키울 수 있는 곳이 바로 ‘백준’입니다. 



백준에서는 흔히 알고 있는 “Hello World”부터 시작해서 프로그램의 프로그래밍을 할 수 있는 실력을 길러줄 수 있습니다. 수학공부를 할 때에도 개념만 익히는 것이 아닌, 수학 문제를 풀면서 적용해 보듯이 프로그래밍 언어를 배우고 익힐 때 매우 유용하게 사용할 수 있습니다. 더 나아가 혼자서 코딩 작성시 놓칠법한 ‘시간 복잡도’, ‘공간 활용도’ 등 효율성 측면도 백준이 잡아주어 정확한 코드 작성을 유도해 줍니다. 뿐만 아니라 많은 학생분들이 하고 있는 게임인 ‘리그오브레전드(LOL)’처럼 개인의 티어(등급)도 측정해주어 게임에서 레벨 업(Level Up)하듯이 재밌게 코딩 문제를 풀 수 있습니다. 

baekjoon_ranking
게임처럼 즐길 수 있는 백준 랭킹 시스템


개발자가 되기 위해 제대로 코딩 공부를 해야 하는데, 백준을 처음 사용하려니 어떻게 해야 할지 모르시겠다고요? 이번 시간에는 백준을 어떻게 사용하면 좋을지 알짜배기만 모아 알려드릴게요. 이 글을 끝까지 읽어 보시면 200% 활용하실 수 있을 거예요!



백준(BAEKJOON) 처음 시작하기

먼저 백준에 접속하신 후(Baekjoon Online Judge (acmicpc.net)), 회원가입을 한 뒤 로그인을 해주세요.

baekjoon-website
백준 웹사이트

위에 메뉴 중에 '문제'가 보이시죠?

baekjoon-test
'문제'를 클릭해 볼까요?


‘문제’ 창에 들어가시면 이렇게 다양하게 분류된 문제들이 있습니다. 하지만 처음 들어가게 된다면 해당 문제가 어떤 난이도의 문제인지, 본인의 능력에 맞는 문제인지 의문이 들 수 있습니다. 그럴 때 제가 추천해주고 싶은 방법은 ‘단계별로 풀어보기’부터 시작하는 것입니다.

baekjoon-questions
단계별로 백준 문제 풀어보기

해당 페이지에 들어가게 되면 1단계부터 52단계까지 분류되어 있는데요. 차근차근 실력을 쌓고 싶으신 분들께 강력 추천해드리고 싶습니다.


그 다음 원하시는 단계에 들어간 뒤 푸실 문제를 클릭하시면, 아래와 같은 페이지가 뜨는데요. 문제와 입력해야할 값의 조건, 그에 따른 출력을 지정해 줍니다. 만약 글로 보았을 때 이해가 가지 않을 경우에 대비해서 예제 입력, 예제 출력을 보고 자신이 코드를 작성합니다. 

baekjoon-example
백준 문제 중 하나를 클릭하시면 이런 화면을 마주하시게 됩니다.
#include <stdio.h>
 
int main()
{
printf("Hello World!");
return 0;
}


자신이 주로 이용하는 어플리케이션(ex) visual studio, VScode 등)을 이용해 해당 예시 코드처럼 직접 코드를 짜서 출력 결과를 확인해줍니다. 해당 출력 결과가 예제 출력결과와 동일하게 출력되었다면 알맞게 짠 코드인지 정답확인을 해야합니다. ‘제출’페이지에 들어가서 자신의 언어, 공개 여부, 코드를 입력 후 제출 버튼을 누르게 되면 정답, 오답, 컴파일 오류, 시간 초과 등 해당 문제에 대한 코드 피드백을 받을 수 있습니다.


baekjoon-example2
피드백을 받고 싶다면 '공개'로!
baekjoon-correct


백준의 좋은 점은 표면상으로는 맞았지만 놓친 부분이 있다면 해당 부분을 오답으로 다시 재검토하게 해준다는 것입니다. 다만, 아쉬운 점은 해설지가 따로 없어 피드백을 받기가 어렵습니다. 이런 점 덕분에 스스로 피드백을 통해 성장할 수 있을 것이라고 생각됩니다. 혹은 많은 개발자분들께서 백준 문제 정답을 올리신 것을 바탕으로 자신의 코드에 피드백을 줄 수 있습니다.


구글에 ‘백준 ~번’처럼 자신이 틀리거나 추가적으로 궁금한 문제의 번호를 구글 검색창에 검색하면 올라와 있는 글을 보고 스스로 피드백을 줄 수 있습니다. 피드백을 통해 점점 코드를 보완해나가다 보면 자신의 진로에 한 걸음 다가갈 수 있을 것입니다. 

baekjoon-googling
백준 문제는 구글링으로도 문제풀이를 확인할 수 있습니다.



백준을 재미있게 즐기는 법, 티어 올리기(solved.ac)

다음으로, 백준과 연계해서 사용하면 좋은 ‘solved.ac’가 있습니다. 이 사이트와 연동하면 좀 더 간편하게 문제의 난이도 별로 풀 수 있습니다. 백준의 아이디와 연동해서 쓸 수 있습니다. 앞서 언급했던 백준의 티어가 매겨지려면 해당 사이트와 연동해야 할 수 있습니다.solved.ac사이트에 접속해서 백준 아이디를 연동해 줍니다.

solved.ac
백준과 연동해서 사용하면 좋은 사이트, solved.ac

문제의 난이도에 따라 티어 등급에 알맞은 문제를 제시해주어 백준의 ‘단계별로 풀기’보다 좀 더 난이도 판단에 용이합니다. 높은 문제를 풀 수록 경험치를 많이 획득해서 티어를 높일 수 있습니다. (꾸준히 매일 1문제 이상 풀 시 이는 추가 점수로 티어를 높이는데 도움이 됩니다.)


baekjoon-ranking

백준의 문제를 해결하면서 점차 성장한 코딩실력을 바탕으로 자료구조를 이용해 ‘알고리즘’ 문제를 접하면서 수준 높은 개발자로 발전할 수 있습니다. 더 나아가 각종 대회에 참여할 수 있습니다. 참여 뿐 아니라 진행되었던 대회의 문제를 풀어볼 수 있습니다.



코딩을 본격적으로 시작할 때 ‘개발’은 어렵게 다가올 수 있습니다. 하지만 ‘백준’과 함께 단계별로 나아가본다면 좀 더 수월하게 느껴질 것입니다. ‘코딩테스트’를 준비하고 계신다면 주저말고 시작하라고 추천드리고 싶습니다.


추가적으로 백준 문제를 풀면서 자신이 피드백을 위해 읽었던 글처럼 직접 본인 개발 블로그를 운영해보는 것은 어떨까요? 거창하지 않아도 자신이 푼 문제, 오늘 배운 것(TIL), 피드백 한 내용 등 직접 블로그에 작성해보면서 기록을 쌓아가는 것입니다. 스파르타코딩클럽에서 강조하는 WIL(Weekly I Learned)의 효과를 얻을 수 있을것이라 확신합니다. 꾸준히 백준 문제를 풀어가면서 점점 흥미와 열정을 키워 코딩 정확도와 재미를 높여 원하는 개발자로 점점 성장해 보아요.


IT기자단_나세빈


- 해당 콘텐츠는 저작권법에 의해 보호받는 저작물로 스파르타코딩클럽에 저작권이 있습니다.
- 해당 콘텐츠는 사전 동의 없이 2차 가공 및 영리적인 이용을 금하고 있습니다.
내용이 유익하셨다면? 공유하기
copyclip-blog-sharekakao-blog-sharefacebook-blog-share
다른 분들이 많이 읽은 글
아티클
비전공자도 이해할 수 있는 프론트엔드, 백엔드의 모든 것 - 실전편(프레임워크, 성향별 추천, 선택 방법 등)
조회12635·6분 분량
비전공자도 이해할 수 있는 프론트엔드, 백엔드의 모든 것 - 실전편(프레임워크, 성향별 추천, 선택 방법 등)
아티클
비전공자도 이해할 수 있는 프론트엔드, 백엔드의 모든 것 - 입문편(프론트엔드와 벡엔드의 뜻, 언어 등)
조회73988·5분 분량
비전공자도 이해할 수 있는 프론트엔드, 백엔드의 모든 것 - 입문편(프론트엔드와 벡엔드의 뜻, 언어 등)
copyclip-blog-share