Intro
네이버 부스트캠프 2차 코딩테스트 후기글입니다.
https://boostcamp.connect.or.kr/guide_wm.html
어땟어?
지난 1차 코딩테스트에 이어 2차 코딩테스트를 치뤘다.
처음에 해프닝이 있었다. 잘만 되던 인터넷이 '시험 입장'버튼을 누르면 인터넷이 불안정하다면서 새로고침을 하라는 것이다. 그래서 새로고침을 여러 번 해봤는데도 안되어서 결국 컴퓨터를 껐다가 다시 켰다. 이렇게 해서 5분 정도 늦게 시험을 시작했다. 잠시 당황했지만, 다시 마음을 가다듬고 시험에 몰입했다. 인터넷이 왜 안되었던 걸까..? 공유기가 내 방에 있고, 다른 인터넷 활동은 잘 되었기에 인터넷 문제는 아니다. 컴퓨터를 껐다 켰을 때 해결이 된 것을 보니 컴퓨터 문제였던 것이다. 다음부터는 온라인 시험 전에 컴퓨터를 한 번씩은 껐다 켜보도록 하자.
2차 코딩테스트에 비해 1차 코딩테스트는 정말 애기였다. 1차 코딩테스트는 기초적인 알고리즘을 베이스로 한 문제여서 시간만 있다면 충분히 풀 수 있을 정도의 난이도였다. 하지만 이번 2차 코딩테스트 문제는 아무리 시간이 있어도 풀기 어려운 문제들로 구성되어 있었다.
총 6문제로, 알고리즘 3문제 + 서술형 3문제로 구성되어 있었다. 서술형은 각 알고리즘 문제를 풀이하는 문제로, 독립된 문제는 아니다. 나는 1번 하나에만 모두 쏟아부었다. 1번을 50%정도 풀고, 머리가 더이상 안돌아가자 2번과 3번 풀기를 시도했다. 2번과 3번도 만만한 문제가 아니라는 것을 판단한 나는 결국 '차라리 1번이라도 확실하게 풀자'라는 생각으로 다시 1번으로 돌아갔다.
1번 문제는 한 CS지식에 의존적인 문제였다. 그 CS를 공부하지 않았다면 상당히 풀기 어려웠을 문제이다. 배경 지식들이 문제 설명에서 생략되어 있기 때문이다. 나 또한 학교에서 배운지 1년이 넘었기에 가물가물한 기억을 되살리며 풀었다.
상당히 무식한 방법으로 풀었다. 처음에는 테스트케이스만 통과할 생각하느라 바빴다. 그렇게 풀게 되니 계속 고치게 되었다. 다른 케이스가 나오면 수정하고, 또 수정하고 이런 방식으로 하였다. 상당히 비효율적이었다.
이번 코딩테스트를 보며 배운 점들이다.
1. 변수명은 처음부터 확실하게 정하고 가자. (a,b,c,d 금지) 나중에 결국엔 또 바꾸게 되어있다. (코드의 가독성을 위해/헷갈려서)
2. 머리를 한 뼘 뒤로 놓고 문제를 바라보자. 넓은 시야로 넓게 생각하자.
3. 배부르면 졸려서 집중이 안된다? 배고파도 상당히 스트레스이다. 그러니, 밥은 평소처럼 적게도, 많이도 아닌 충분하고 든든하게 먹자.
4. 시험/면접 전에 컴퓨터 껐다 켜기
느낀 점
이제 결과만을 기다리고 있다. 나는 코딩테스트보는 내내 코딩테스트를 위해 최선을 다했고, 그거면 된거다. 수고 많았다.