Code Wars

Mark Lee·2021년 11월 16일
0

CodeWars

목록 보기
2/12

SW개발자가 수가 점점 늘어나고, 관련 기업도 늘어나는 추세에 맞춰, 입사 면접 전에 코딩 테스트를 요구하는 경우가 많아지고 있다. 개인적으로 CS(Computer Science)전공자가 아니기 때문에, 순수 이론적인 부분에 있어 항상 취약하다고 느꼈고, 이직 과정에서 몇 번 접해본 코딩 테스트에서 굉장히 당황한 경험이 있기 때문에, 딱히 이직을 위해서가 아니더라도 공부를 위해서 온라인 코딩 테스트 플랫폼을 이용하기로 했다.

Coding 테스트를 준비하는 사람이라면 국내 사이트로는 백준(https://www.acmicpc.net), 해외 사이트는 LeeCode(https://leetcode.com)를 많이 알고 있을 것이다.
문제의 수, 난이도 배분, 실제 기출문제 등을 고려한 다음의 위의 사이트에서 학습을 하는 것이 당연하다고 생각한다.

하지만, 개인적으로 Code Wars(https://www.codewars.com/dashboard)라는 해외 사이트를 선택했는데, 그 이유는 이 사이트는 문제를 풀면, 점수를 얻고 이에따라 바둑(9급~1급, 1단~)과 같은 형태의 등급이 메겨진다는 부분이 나름 동기부여가 되어서였다. 딱히 취업을 위한 코딩 테스트 공부를 목적으로 하지 않는다는 부분도 작용했다. 취업을 목적으로 하는 느낌도 안들고 그냥 서로 문제를 내고 풀며, 즐기는 분위기가 마음에 든 이유중에 하나다.

문제(사이트에서는 kata라고 한다)는 8 kyu(kyu는 가라데의 급을 의미함. 그냥 급이라고 보면 됨)에서부터 1 kyu까지 존재하며, 다양한 언어로 문제 풀이 제출이 가능하다. 특징상 정형화된 문제보다는 일종의 스토리등을 가미하거나, 게임성의 문제가 많은 것이 타 사이트와 다른 특징이라고 볼 수 있다. 문제를 풀면 난이도에 따라서 점수(%)올라가는데, 100%가 되면 한 단계가 올라가게 된다.

플랫폼 자체로 본다면, 사실 타 플랫폼에 비해 굉장히 불친절하다. 같은 C++코드임에도 기준 컴파일러에 따라서 이유없는 에러를 자주 뱉고, 본 테스트에서는 입력 데이터를 알려주지 않기 때문에 왜 오류가 나는지 알 길이 없다. 로그를 찍을 수는 있게 하지만, 데이터 타입에 따라서 로그를 만들기 불편한 점이 있고, 이 마저 제대로 되지 않는 경우가 많다. 특히나 Timeout인 경우는 알 길이 없다. 우회적으로 일부로 틀린 답을 return하는 식의 꼼수를 사용하면 되긴 하지만, 불가능한 경우도 있다.

그리고, 짧으면 1시간 길면 6시간안에 끝을 내야하는 취업용 코딩 테스트 문제가 아니라 말그대로 그냥 즐기기 위한 문제이다 보니, 3 kyu 이상의 문제의 경우, 몇 일을 허비해서 생각하고 풀어야 한다. 사실 이렇게해서 풀면 성취감이 더 들기는 한다. 반대로 다른 사람의 풀이를 볼 때, 내가 알지 못한 특정 API를 이용해 간단히 푼 경우도 자주 보는데, 이 땐 굉장히 허탈하다.

아래 이미지는 Dashboard를 캡쳐한 것이다.
현재 등급이 Rank로 표시되고, 주 사용 언어, 등 수(Leaderboard Position)등이 표시가 된다.

아무튼, 현재 급수는 3 kyu(3급)인데, 1급에 올라갈 때까지 꾸준히 하는 것이 목표이다.

profile
C++/C#, Python을 주로 사용하는 개발자입니다. Engineering 알고리즘 개발을 주 업무로 하고 있습니다.

0개의 댓글