지난 주 토요일 오후 2시부터 5시까지 진행된 네이버 부스트캠프 2차 코딩테스트에 응시했다. 총 5문제로 이루어졌는데 알고리즘 3문제, 서술형 2문제였다. 알고리즘은 알고리즘 기법과 관련한 문제라기보단 기본적인 구현 문제였고, 1차 코테와 마찬가지로 문제의 조건이 굉장히 많고, 작업이 굉장히 많았기 때문에 빠른 시간 안에 문제에서 주어진 조건을 다 구현해내는 것이 관건이었다. 문제 조건이 많았기 때문에 문제를 이해하는데도 꽤 긴 시간이 필요했다. 나 같은 경우에는 1번 문제에서 고려해야할 사항들을 정리 및 이해하는데 20분 정도가 소요됐고, 2번 문제도 그와 비슷한 시간이 소요됐다. 나는 총 3개의 알고리즘 문제에서 1개를 풀었고, 2번 문제를 푸는 도중에 코테가 종료되었는데, 문제에서 요구하는 조건을 모두 고려해 약 300줄의 코드를 작성하였고, 문제의 예시에서 주어진 출력결과와 다르게 나와 비교하는 과정에서 종료되었기에, 약 10분 정도만 더 주어졌다면 틀린 부분을 수정하여 풀어낼 수 있었을 것 같다. 이번 부스트캠프 코테는 전반적으로 주어진 문제를 얼마나 빠르게 이해하는지, 기본적인 문법을 얼마나 잘 사용하는지, 그리고 이해한 내용을 얼마나 빠르게 코드에 옮겨쓰는지를 보는, 굳이 따지면 타임어택에 가까운 코딩테스트였다고 생각했다. 결과는 기대에 못미쳐 아쉽지만 그래도 좋은 경험이었고 현시점에 나의 부족한 부분을 더 알 수 있게된 코테였다고 생각한다.
지난 주 일요일 오전 10시부터 2시간 동안 프로그래머스에서 주관하는 데브매칭 코딩테스트에 응시했다. 총 3개의 알고리즘 문제와 1개의 SQL 문제가 나왔는데, 시간이 부족해서 SQL문제는 풀지 못하였고, 3개의 알고리즘 문제 중에 1번, 2번은 합쳐서 1시간 이내로 풀었지만, 3번 문제의 마지막 조건에 대해 해결하지 못해서 풀지 못했다. 코테가 끝난 뒤 내가 헷갈려 했던 부분에 대해서 기존의 유사한 문제의 풀이를 보고 나서야 내가 무엇을 잘못했는지를 깨닫게 되었다. DFS/BFS를 이용해서 특정 구역의 넓이를 구하는 것에 실패했는데, 넓이를 구하는 과정에서 이미 방문한 지역을 재방문하지 않도록 하기 위한 조건을 삽입하지 않아서, 재귀가 종료되지 않는 현상 때문이었다. 기존에도 많이 처리해봤던 것인데, 한 번에 구현하지 못했는데 이를 시험 상황이라 그런지 많이 당황했던 것 같다. 이에 대해 똑같은 일이 발생하지 않도록 깃허브에 DFS/BFS를 이용한 넓이 구하기에 대한 개념을 정리해두었다.
저번주까지는 코테 준비에 집중해서 알고리즘 위주의 공부를 했다. 이번주는 그 동안 미뤄왔던 웹 공부를 다시 시작하고, 알고리즘의 부족한 점을 보완해내가는 시간을 가져야겠다.