Leon Chaewon Kong's dev blog

SW마에스트로(소프트웨어 마에스트로) 11기 지원 팁 - 코딩 테스트

2019년에 10기로 지원을 하며 제가 경험했던 것들을 바탕으로 예비 11기 분들을 위해 간단한 팁을 정리해보려고 합니다.

들어가며

안녕하세요. 저는 SW마에스트로 10기로 활동했는데요.

저는 경영학/영문학을 전공한 비전공자이고, 프론트엔드 개발자입니다.

제가 최근에 “SW마에스트로(소프트웨어 마에스트로) 10기 활동을 하며 내가 얻은 것들” 이라는 글을 생활 코딩에 올렸습니다. 생각보다 많은 분들이 관심 가져 주시고, 제게 연락을 주셔서 다시 한번 팁 아닌 팁을 정리하게 되었습니다.

전형에 대한 설명

일단 SW마에스트로는 정부에서 지원하는 프로그램입니다. 공정성이 무엇보다 중요하죠.

그래서 대부분의 지원자는 코딩 테스트에서 당락이 갈리고, 면접에서의 경쟁율은 2:1에서 3:1 정도이지 않을까 싶습니다.

면접은 다 대 다 면접이었고요. SW마에스트로 멘토 분들과 외부 평가위원 분들이 섞여 있었던 것으로 기억합니다.

자소서는 일단 무조건 통과해요. 딱 봐도 이상하게 쓴 자소서 아니라면요. 다만, 자소서는 면접 때도 참고가 될 수 있으니 이왕 쓰시는 거 잘 쓰시면 좋을 것 같아요.

저도 프로젝트를 많이 해본 편은 아니었는데, 크게 중요하진 않은 것 같습니다. 경험이 부족하다고 떨어지는 것은 아니라고 생각합니다.

결국 코테, 코딩 테스트가 중요합니다.

10기 코딩테스트 소개

SW마에스트로 10기 선발 당시 코딩테스트에 대해 소개해 드릴게요.

총 15문제, 90분 간 시험이 진행되었습니다. 시험은 오프라인 코딩테스트로, 강남 등지의 컴퓨터학원을 빌려 시험을 봤습니다.

복사/붙여넣기는 불가능 했고요. 인터넷 검색도 불가했습니다.

문제는 배점이 서로 달랐습니다. 부분점수는 없었고요.

다만, 문제 배점이 높다고 꼭 어렵지는 않았던 것 같아요. 알고리즘이란게, 어려워도 자기가 잘 아는 분야와 쉬워도 좀 모르는 분야가 있을 수 있는거니까요.

전체적으로 많이 푼 사람들은 12문제를 풀기도 했지만, 의외로 합격한 대다수 연수생들은 평균 4-5문제 정도 풀고 합격한 것 같습니다.

11기 전략

11기 때도 코딩 테스트가 당락을 결정하는 주요 요인이 될 것 같아요.

다만, 알고리즘에 정통해야만 붙는 건 아니라고 생각합니다. 저는 사실 알고리즘을 잘 하지 못하는 편이에요. 비전공자기도 하구요. 하지만 운과 전략으로 부족한 실력을 어느정도 극복할 수 있었다고 생각합니다.

먼저, 문제가 15문제인데 시간은 90분이라는 점에 주목하면 좋을 것 같아요. 절대, 다 풀긴 힘들 겁니다. 한 문제당 6분 씩이니까요.

이번에도 비슷하게 많은 문제에 비교적 촉박한 시간으로 출제될 가능성이 높을 것 같습니다.

부분점수는 없을 가능성이 높아요. 일단, 배점에 너무 현혹되지 마시고, 확실히 풀 수 있겠다 싶은 문제들 위주로 푸시는걸 추천합니다.

테스트 케이스들 추가할 수 있으면 문제를 찬찬히 잘 읽고, 예외케이스가 될듯 싶은 것들을 테스트 케이스로 추가해 두시구요.

침착하게 풀 수 있는 문제들만 정확히 풀겠다는 각오로 푸시면 될 것 같아요.

저도 들어와서 보니까, 제 실력으로 못 들어올 곳이었던 것 같은데, 그냥 마음을 비우고 침착하게 풀었더니 운이 좋아서 사실 붙은 거라고 생각하거든요.

문제에 비해 각 문제당 할당되는 시간이 극도로 촉박합니다. 알고리즘 풀어보신 분들이라면 문제당 6분이라는게 얼마나 극악의 시간배분을 요구하는지 아실거예요.

사실 문제들도 아주 쉽진 않아서, 읽고 이해하는 데만 6분 걸릴 것 같은 문제도 많아요. 저는 설명회 때 “구구단 수준”이라고 들었는데, 결코 그렇진 않았어요:)

비전공자 및 알고리즘 생초보를 위한 조언

SW마에스트로는 코테에서 대부분의 지원자가 걸러집니다.

자소서는 면접에서 의미를 가질 수 있지만, 결국 가장 중요한건 코딩 테스트라고 생각해요.

이제 기간이 얼마 안 남았으니, 관심있는 분들은 하루에 세시간 씩이라도 꾸준히 코테를 준비하시면 좋을 것 같아요.

우선 비전공자인 제가 공부하면서 얻었던 팁 아닌 팁을 세개 정도 드리고 싶습니다.

  1. 프로그래머스에 들어가 레벨 1, 2 문제들을 쭉 풀어봅니다: 프로그래머스 장점이 문제수도 적고 자주 출제되는 경향의 문제들이 많은 것 같아요. 쫙 전체적으로 훑는데 좋습니다.
  2. 기초적인 분야들 중심으로 백준에서 문제를 풀어봅니다: 정렬, 이분탐색, 완전탐색(브루트 포스), 기본적인 자료구조는 한번쯤 숙지하면 좋을 것 같아요. 모르는건 인터넷 검색하며 찾아보세요
  3. 문제는 너무 오래 고민하지 말고 검색해서 다른 사람의 풀이를 보세요: 1시간 이상 한 문제를 붙들고 있는 건 의미가 없는 것 같아요. 알고리즘이 부족하다고 생각한다면 일단 많이 푸는게 중요할 것 같아요.

마치며

솔직히 저는 알고리즘을 잘 하지 못해요. 운이 좋았던거 같아요. 저는 정말 정신없이 제가 풀 수 있어 보이는 것들만 공략했는데, 다행히 그 안에 배점이 높은 문제도 있었나봐요.

SW마에스트로 문턱이 너무 높다고 걱정하지 마시고 한번 지원해 보세요.

문제 수가 많다 보니, 운도 중요한 것 같아요. 지금 당장 실력이 부족하더라도, 붙을 가능성이 있으니 지원해 보세요.