210910

TIL

3일 동안 프로그래머스 100점 올린 경험 (1300 → 1400)

jongah
Jongah Tech Blog
Published in
4 min readSep 9, 2021

--

코드스테이츠에서 카카오엔터프라이즈 전환형 인턴 공고가 올라왔다. 자격 요건이 프로그래머스 1400점 이상, 125문제 푸는 것이다.

어차피 해야하는 알고리즘 공부! 확실한 목표가 있으면 더 잘 할 수 있을 거라 생각해 수료한 다음주(210906~210910)에는 문제 풀기에 집중하기로 했다.

210906(월)

저 인턴 공고가 없었으면 원래 이 주는 ‘이력서’ 작성하는 주였다. 오전 9시~12시에는 이력서를 작성하고 오후부터 알고리즘 문제를 풀어야겠다고 생각했다.

그러나 나는 예상치 못했다. 무엇을? 나를…

나는 하루종일 이력서에 영혼을 불어넣었다. 그리고 이전에 작업했던 한 프로젝트의 노션, 블로깅, 깃허브 정리를 끝마쳤다.

210907(화)

프로그래머스의 나의 점수는 1300점, 문제는 73문제 풀었다. 그래서 5일 동안 풀기로 했으니깐 하루에 20점씩, 문제는 10문제씩 풀어야겠다고 생각했다.

그런데 일단 어제 내가 영혼을 잠시 이력서에 맡겨서 5일이 4일로 변경됐다.

우선 나는 하나 남은 레벨1 문제를 풀고, 레벨2 문제를 차근차근 풀었다. 이 날 8문제(총 81문제)를 풀고 점수는 1340점이 되었다.

210908(수)

나는 사람들이 적게 푼 문제를 맞추면 점수를 높게 줄 거라 생각했다. 그런데 1점, 2점, 4점, 10점 등으로 정답자가 5000명 아래의 문제를 풀어도 다양한 점수를 받았다.

‘프로그래머스 점수’를 구글 검색했다. 사람들이 많이 틀린 문제를 맞추면 점수를 좋게 준다고 적혀있다. 사람들이 적게 풀어도 단 번에 맞춘 사람이 많다면 받는 점수가 낮은 것이다. (꼼수가 안 통한다)

레벨2 문제를 푸니깐 1문제당 시간이 엄청 오래 걸린다. 구글 검색으로 다른 사람들이 풀어놓은 것을 보아도 이해가 되지 않아 한 문제에도 엄청 시간을 쏟았다.

이 날 8문제(총 89문제)를 풀고 점수는 1370점이 되었다. (이 날 기록은 정확하지 않다.)

210909(목)

문제가 길고 이해하는 것도 어려웠다. 문제 푸는 건 당연히 어려웠고 나는 구글 검색으로 그 문제에 대한 여러 답을 보고 이해한 것으로 답을 맞췄다. 간단히 말해서 내 생각으로 푼 것이 아니다.

github 알고리즘 레포에 적어놓았듯이 참고 url이 있고, 그 url에서 본 답을 내가 이해되는, 내 언어로 주석을 적어놓았다. 최소한의 양심을 지키려고 애썼다.

이 날 14문(총 100문제)를 풀고 점수는 1408점이 되었다.

210910(금)

금요일이라기엔 목요일부터 안 자고 지금 새벽 3시이지만, 일단 자정을 넘겼고 요일이 바꿨으니 오늘은 금요일이다.

결론적으로 나는 카카오엔터프라이즈 전환형 인턴에 지원하지 않을 것이다. 일단 어제처럼 푼다고 해도 25문제는 풀지 못 할 것이다. 문제와 답을 봐도 이해하는 것이 어렵기 때문이다.

보고 베낀다면 25문제를 풀 수 있을 것이다. 그러면 1400점은 넘은 상태니깐 자격 요건에 통과된다.

하지만 보고 베낀다면? 내가 지원할 수 있어도 코딩테스트를 통과 못 할 것이다. 어제의 문제도 내가 이해는 했으나 풀었다고 볼 수 없으니 응용하기 힘들 것이다.

어떻게 알고리즘 공부할까?

목표로 삼았던 인턴에 지원하진 않지만, 나는 3일 동안 알고리즘 문제에 집중하면서 공부 방법에 대해 다시 생각해보게 되었다.

코딩테스트 레벨 1, 2는 다 풀 수 있어야하고 레벨 3까지도 풀어야 좋은 건데 나는 아직 레벨2에서 막혀있다. 레벨1도 다 푼 문제라 생각하고 안 풀고 있지만 다시 풀어보면 막힐 것들이 있을 것이다.

처음보는 것처럼 느껴지는 문제도 많고, 조합, DFS, 최대공약수 , hash, 고차함수 등을 아직 활용을 잘 못 한다.

다른 사람의 정답을 보고 이해하더라도 먼저 문제를 이해하고 어떻게 응용되는지 살펴보는 것도 좋은 방법이다. 그러나 이 방법으로 공부하고 나선 다음에 꼭 나 혼자 다시 풀어봐야 한다.

앞으로의 알고리즘 공부 계획

알고리즘 스터디가 다음주부터 다시 시작되니, 그 날에 내 스스로 풀어보고 레벨3까지는 다른 사람들의 답을 보면서 최대한 이해할까 한다.

레벨2 12개, 레벨3 41문제 남았다. 이번달까지 문제 이해를 하면 좋으니깐 하루에 5개씩 참고해서 풀어 봐야겠다. 그 뒤로는 혼자 풀고, 알고리즘 스터디 때도 혼자서 푼다.

레벨3도 풀긴 하지만 우선 레벨1, 2에 집중하고, 코드스테이츠 토이문제나 자료구조 문제와 같이 코플릿 문제들도 풀어야겠다. (우선 중요도는 프로그래머스로 잡았다.)

--

--

jongah
Jongah Tech Blog

우리는 자신이 어떤 사람으로 기억되길 바라는지에 대해 스스로 질문해야 하고, 늙어가면서 그 대답을 바꾸어야만 한다. ( Github :: https://github.com/jong-ah )