본문 바로가기

1. 개발자가 될 수 있을까?/코딩 테스트 및 면접 후기

[엔씨소프트] 2019 Summer Internship 코딩테스트 후기

지난 6월 1일 엔씨소프트 코딩테스트를 봤다.. 150분이 주어지고 2문제가 출제가 되었고, 난이도는 초~중급이었던 것 같다. (지원하는 분야마다 제공 시간, 문제 개수, 난이도가 다르다는 점 참고! 여타 부서들은 문제 난이도가 높았다는 후기들도 많았음) 코딩테스트는 프로그래머스 사이트를 통해 응시했고, 특정 날짜 24시간 동안 자신이 가능한 시간에 접속하여 응시하면 되는 방식이었다.

 

이전 넥슨 레드는 아무래도 해커랭크에서 진행되다보니 리트코드 문제형식과 유사했는데, 이번 엔씨소프트는 백준 또는 프로그래머스 유형의 문제라고 볼 수 있을 것 같다. 첫번째 문제는 어느정도 그래프 문제를 풀어봤다면 풀 수 있을 법한 초~중 난이도의 문제였고(백준으로 치면 3~40%대의 문제..?) 두번째 문제는 초급 난이도의 문제였다. (비슷한 유형의 문제를 프로그래머스 레벨 테스트에서 본 적이 있음)

 

하지만 문제가 쉬운만큼 잘 풀지 못한게 천추의 한이다. 시간복잡도 공간복잡도 다 따져줬어야 하는데, 문제가 쉬운걸 보고 마음이 들떴는지 도통 집중을 못해서 검토를 제대로 못한 것 같다. 두번째 문제가 굳이 따져주자면 O(klgk+n) where k = max(n, m)으로 풀 수있는 너무x100 간단한 문제였는데.. 나는 O(klgk+nlgm) where k = max(n, m)로 풀었기 때문에 둘다 O(klgk)이긴 하지만.. 최적화 시켜주지 못해서 걱정이 된다. 분명히 누군가는 보시고 "얘는 왜 이걸 굳이 이렇게 풀었지..?"하고 생각하실 만한 코드라는 것을 제출 후에 찜찜해서 돌이켜보다 깨닫고 많이 우울했다.

 

그래도 이번 테스트를 보면서 또 한번 깨닫는 것은 "정말 쉬운 문제는 없다"라는 것.. 정말 쉬운 문제라고 생각하는 순간 모든 것을 망칠 수 있다. 어떤 문제든 출제 의도가 있을 것이고, 쉬운 문제는 맞혀야 본전이기 때문에 오히려 더 깔끔하게 제약 사항을 잘 고려해서 풀어줘야 한다는 점. 아직 실력도 없으면서 어떤 문제를 보고 쉽다고 생각한 오만한 과거의 나를 원망할 수 밖에.. 

 

그래도 다행인 것은 이번에 인턴 준비를 통해서 여러군데 코딩테스트를 보며 마음이 단단해지고 있는 것 같다.  그리고 내가 어떤 부분이 부족한지 알아가는 것 같다. 어떨 때는 이만큼 준비해온 내가 대견하기도 하다가, 또 어떨 때는 여전히 멀었구나 느낄 수 있어서 좋다.

 

힘내자힘!! 결과가 알려줄 것이니 들뜨지도 슬퍼하지도 말고 stay strong!!