Back to Posts

Review : Programmers

PS만 3년 했던 공대생의 코딩 테스트 준비 이야기

Posted in smalltalk

Review : Programmers

벌써 4학년이 되었다. 즉, 취준/진학 준비를 해야 한다는 것이다. 그런데 여기서 잠깐, 하나 잊고 있는 게 있다. 모든 것 이전에 “졸업 준비”부터 해야 한다. 대학생 졸업 준비가 뭐 어려운게 있겠냐만은… 내가 아직 해결하지 못한 것이 하나 있다. 바로 인턴십, 우리 과는 졸업을 위해서는 인턴십을 꼭 이수해야 한다. 그런데 4학년 학기중에는 졸업 프로젝트도 진행해야 하므로… 실질적으로 내가 남은 기회는 여름방학이 전부인 것이다. 따라서, 인턴십을 위해서라도 코딩 테스트를 준비해야 했다.

Programmers?

물론 나는 이번 기회에 처음 알게 되었지만, “프로그래머스”라는 플랫폼이 코딩 테스트 준비로는 상당히 유명한 듯 했다. 기존에 내가 이용하던 BOJ보다 문제 수는 많지 않았으나, 실질적으로 채용 기회도 이 플랫폼을 통해서 얻을 수 있는 듯 했다. programmers_main

프로그래머스 사이트 메인화면



다음카카오에서 진행하는 코딩 테스트의 기출 문제나, 자체적 행사에서 만들어진 문제들 등 꽤 많은 문제들이 있었다. 실제로 세어 보진 않았지만, 대략 200문제는 있는 듯 했다. 또한 SQL 연습 문제도 준비되어 있다는 점에서 확실히 취업 준비를 위한 사이트라는 느낌이 들었다. 나름대로 레벨 테스트도 있다는 점, 난이도 별로 문제를 필터링해서 볼 수 있다는 점, 지원되는 언어가 꽤 다양하다는 점에서 괜찮다는 생각이 들었다.(실제로 내가 사용 가능한 언어는 C, C++, python이 전부지만 말이다.)

가장 중요하다고 볼 수 있는 문제의 난이도는… 솔직히 쉬운 편이었다. 기존에 3년간 PS를 해와서인지(초라하지만, 이 정도의 경험도 있다.) 기업의 코딩테스트라고 크게 어렵게 느껴지지는 않았다. 다만, ICPC나 여타 대학 대회에서 쓰이는 문제와는 나름대로의 차이가 있었다. 바로 아래에서 이에 대한 이야기를 할 것이다.

Coding Test VS. Contest

우선 여기의 내용은 지극히 개인적인 견해이다. 혹시라도 다르게 느꼈다면, 댓글로 이야기해주길 바란다. 무엇보다… 프로그래머스 문제를 고작 3주 정도(실질적으로는 1주일 반 정도) 풀어본 뉴비의 견해니까, 어느정도 걸러 들으면 될 것이다.

기존에 내게 익숙했던 대회 문제들은 모두 “정해”라고 하는 것을 두고 이 이외의 풀이를 거의 모두 거부한다. 또한 그 정해에 사용된 알고리즘의 난이도도 상당한 경우가 많다. 그래서 ICPC나 SCPC, 구글 코드잼 등의 문제는 꽤 진입장벽이 높은 편이다. 내 체감상 컴공의 절반 정도는 코딩 경험이 거의 없거나, 얕은 지식인 상태에서 진학을 하게 되는데, 이러한 학생들이 학부 수업만으로 이 문제들을 도전하기엔 상당히 어려운 감이 있다. 적어도 내가 자주 이용했던 플랫폼인 BOJ에서 어려운 대회 문제들은 대부분 solved.ac 기준으로 플래티넘~다이아 정도였는데, 이런 문제들은 작정하고 공부하지 않는 이상 손도 대기 어려운 문제들이었다.

그에 반해 프로그래머스 문제는 꽤 다양한 접근을 허용하는 듯했다. 뭐랄까… 대회 문제가 “이미 답은 준비되었고, 네가 그 답을 도출할 수 있을까?”라면, 프로그래머스 문제는 “어찌 되었든 좋으니까 이런 결과만 내놓아봐” 정도의 느낌이었다. 스타일은 크게 다르지 않았지만, 제한이 상당히 넉넉했다. 정말 말 그대로 특정 상황에 대처할 수 있는 코딩 능력만 보고 싶다는 느낌이었다. 어려운 알고리즘보다는 BFS,DFS이나 DP처럼 기본적인 요소들을 응용하는 문제들이 많았고, 당연히 대회 문제를 많이 풀어본 나로써는 쉽다고 느껴졌다.

Review

우선 첫 커밋인 2020년 12월 29일부터 지금까지 75문제를 풀었고, 점수는 1000점에서 1364점까지 올렸다. programmers_commit

github의 프로그래머스 문제 풀이 첫 커밋



대부분의 문제는 그리 어렵지 않게 해결할 수 있었다. 하지만 그리디, 이분 탐색 등과 같이 원래 내가 서툴었던 부분은 역시나 여기서도 서툴었다. 기존에 BOJ에서 많은 문제를 풀었으니, 어떻게 어떻게 풀 수는 있었지만, 나름대로 연습이 필요할 듯 보인다. 다행히 자료구조 응용 문제나 그래프 알고리즘 쪽은 꽤 쉽게 풀 수 있었다. 실질적으로 PS 공부를 놓은지 꽤 되었으니, 감을 잃어버리지 않도록 한번씩 와서 문제 풀어보면서 쉬엄쉬엄 연습하면 후에 도움이 될 것이라 생각한다.

comments powered by Disqus

KAIST 전산학부 재학중인 석사과정 학생입니다.
Master student at School of Computing, KAIST

DBMS, 알고리즘, 자료구조 등에 흥미가 있습니다.
Interested in DBMS, Algorithm, Data Structure, etc...

Read Next

ToyDB : B+Tree Index