어제 카카오 블라인드 코딩테스트가 있었다. 물론 내 수준에서 다 풀지 못할것을 알고있었기 때문에 가벼운 마음으로 대회에 임했다. 내가 손댈수 있었던 문제는 유사 아이디 추천, 코스요리 정하기, 채용 알고리즘 작성하기 (3번째까지)였다.
첫번째 문제는 문제에서 주어진대로 그대로 따라하기만 하면 풀수있을 정도로 그다지 어렵지 않았고, 두번째 문제는 이전에 알고리즘 공부를 하면서 봤던 유형의 문제라 unordered map이랑 dfs를 사용해서 풀었다.
세번째 문제에서는 분명 주어진 테스트세트에서는 잘 동작하는데 코드를 제출하면 틀렸다고 나와서 솔직히 아직도 뭐가 잘못되었는지 모르겠다. 나중에 해설이 나오면 다시 봐야겠다.
어쨌든 꽤나 긴 시간을 테스트를 치면서 느낀점이 있다면, 나도 할수 있을것 같은데?! 라는 점이었다. 이전까지는 솔직히 알고리즘이란,,, 무조건 많이 풀어보는게 답이라고 듣기는 했어도 솔직히 막막했다. 얼마나 푸는게 많이 푸는거인지, 풀고 난 다음에 다 까먹어버리면 어쩌지... 등등.. 학과 공부, 프로젝트, 개인공부, 영어과외 등등으로 시간이 많이 없기 때문에 알고리즘에 많은 시간을 투자하기도 좀 어려운 노릇이었으니까 막막한게 당연하지.. 그래서 이번 시험에서도 내가 풀수 있는 문제는 많아야 한문제 정도일거라고 생각했다. 이전의 테스트는 그랬었으니까. 그런데 내 예상을 깨고 무려 3문제나 풀었다!!! 테스트에 늦게 입장을 한걸 감안하면 좀더 해보면 다른 문제도 더 풀수 있지 않았을까!
지금은 "알고리즘은 많은 문제를 풀어보는게 답이다."라는 말에 조금더 다가선 기분이 든다. 내가 문제를 풀어본 경험으로 적어도 문제를 푼 경험이 생긴거니까. 테스트를 치기 전에 두려운 마음이 많았는데 도전하기를 잘했다는 생각이 든다. 기세를 몰아서 프로그래머스 월간 코드챌린지에도 도전했다!! 조금씩이라도 꾸준히 알고리즘을 풀면 실력은 오른다는 말이 나에게 힘이 되어 주었다.
그래, 알고리즘도 다 거기서 거기다. 그러니 많은 문제를 풀어보고 경험을 쌓으면 점점 더 문제를 보는 눈이 생기고, 뭘 봐도 차분하게 요구사항을 정확히 파악하고, 여유롭게 문제를 풀어낼 수 있으리라 믿는다. 어쨌든 한 분야의 지식이라는게 한정적이고 내가 생각하는 것 보다 별로 없으니까.
역시 도전의 경험은 성공과 실패의 여부를 떠나서 나에게 큰 자산이 되는것 같다는 생각을 다시한번 하게되었다.
'알고리즘 공부 수기' 카테고리의 다른 글
[디버깅] 화내지 않고 체계적으로 디버깅 하는 방법 (0) | 2021.01.13 |
---|---|
백준 2580: 스도쿠 문제해결 (C++) (0) | 2020.08.20 |
2020-0819 "백준 2580번: 스도쿠"를 풀며 (0) | 2020.08.19 |