잊을까봐 쓰는 소프트웨어 마에스트로 11기 1차 코딩테스트 후기

Sooyoung Lim·2020년 3월 20일
1

요즘 co론A로 공부도 집중 잘 안 되고... 칩거 생활에 지쳐 의욕도 떨어지고 손에 일이 안 잡혀, 한 때 의욕에 불타올랐던 나를 상기시키고자 이 포스팅을 작성한다. 그 당시에는 co론A가 이 정도로 장기화 되리라곤 생각 못 했을 때 이제 겨우 3학년이지만, 전부터 계속 꿈꿔왔고 하고 싶었던 소프트웨어 마에스트로를 이번 기수에 처음 지원했고, 2학년 때 했던 프로젝트 2가지를 최대한 잘 녹여내 지금까지 작성했던 것들 중 최고의 자소서를 만들어냈다! 그리고 서류 합격이 되어 코딩 테스트를 볼 수 있는 기회가 주어졌다. co론A의 여파로 오프라인 시험은 연기되고 온라인 시험이 추가되면서, 1차 테스트는 집에서 치르게 되었다.

소마 코딩테스트는 매 기수마다 유형도 달라지는 듯 하다. 작년 10기의 경우 알고리즘 15문제를 90분 안에 해결해야 하는 테스트였지만, 올해의 경우 알고리즘 3문제, SQL 1문제, 웹프로그래밍 1문제를 2시간 안에 해결해야 했다. 알고리즘과 SQL의 경우, 특히 알고리즘의 경우 대학 입학 후 2년 동안 꾸준히 공부를 해 왔기 때문에 자신 있었던 동시에 가장 오랜 기간 공부했던 영역이라 더 잘 해내고 싶다는 욕심으로 인한 부담감도 컸다. SQL은 작년에 경영학부 수업을 수강하며 익힌 지식으로 JOIN, SubQuery, Update, Insert 등등... 정도 해결할 수 있는 수준이고,
문제는 웹인데, 하도 javascript를 배운지 오래되어 며칠 벼락치기로 준비했다.

알고리즘

1번

소요시간 약 2분
규칙을 찾아낸다면 아주 쉬운 문제, 그렇지 못했다면 한없이 어렵게 느껴졌을 문제다. 다행히 빠르게 캐치해내어 금방 해결하고 넘어갈 수 있었다.

2번

소요시간 약 5분
2차원 배열, if문, for문을 적절히 활용하여 해결하는 구현 문제였다.

3번

소요시간 약 50분
여기서 시간을 많이 잡아먹었다. 대회 며칠 전 백준 BOJ에서 정말 비슷한 유형의 문제를 푼 적이 있었는데, 그걸 떠올려 점화식을 세우고 구현해보려니 3중 for문으로 시간 초과, 동적으로 할당해도 메모리 초과를 피할 수 없어 다른 방법으로 최적화 할 수 없을지 고민하다 투-포인터를 떠올려 구현하였다. 접근법만 처음에 틀리지 않았어도 빠르게 해결하고 넘어갔을텐데 하는 아쉬움이 컸다. 지금 와서 생각해보니 정렬을 이용하여 풀었으면 더 간단했을수도...?

SQL

소요시간 약 3분
기본적인 문법만 알고 있어도 금방 풀 수 있는 문제였다.

웹프로그래밍

위 4문제를 다 풀고 나니 1시간이 조금 넘게 남았었는데 (중간에 추가시간 15분이 주어졌다) 나머지 시간을 여기에 다 때려부었다. API 문서를 보고 해당 기능을 구현하는 문제였는데, 물론 소마 측도 나름 생각이 있었겠지만 안드로이드 프론트 개발에 익숙한 나는 어차피 통신 기능 붙이는 거면 안드로이드나 iOS 프론트도 지원해주지라는 생각을 했다 javascript에 익숙하지 않다보니까 더듬더듬 벼락치기로 공부했던 내용을 떠올리며 겨우겨우 해결했는데, 제출하고 컴파일 도중 시험이 종료되어 테스트를 해 볼 수 없었다. 아마...틀렸을 것이다

마치며

비록 배워야 할 것도 한참 많은 개발자지만, 그래도 내가 목표했던 정도만큼 잘 해결해낸 내가 대견하다. 2차 코딩테스트도 최종 면접도 정말정말 보고 싶지만, 일단 결과를 차분히 기다려보기로 하고 소마를 지원할 때의 그 열정을 다시 되찾아 이번 학기에 열심히 임해야겠다는 생각이 들었다. 여러모로 힘든 시기 잘 이겨내고 다시 소중한 일상을 되찾을 수 있길...!

2개의 댓글

comment-user-thumbnail
2020년 3월 20일

수고하셨습니다 :)

답글 달기
comment-user-thumbnail
2020년 5월 13일

알고리즘을 잘하신다니 너무 부럽습니다.. 하아..

답글 달기