2023 하반기 삼성 S/W 역량테스트 (A형) 합격 후기

천호영·2024년 2월 12일
2

알고리즘

목록 보기
97/100
post-thumbnail

2023년 9월부터 이어진 길고 길었던 채용 프로세스가 끝난 기념으로 삼성의 코딩테스트인 S/W 역량테스트(A형) 합격 후기를 작성하고자 한다.

현재 채용 홈페이지에는 면접 합격 이후 건강검진 안내가 있는 상태이다. 지원한 전형은 삼성전자DS 산학장학생 Track이고, 공채와 모든 프로세스를 함께 진행했다.

작성할 내용들이 추후 삼성의 코딩테스트를 준비하는 분들에게 도움이 되었으면 한다.

세웠던 전략

삼성은 예전까지 3시간을 주고 2문제 모두 빡구현으로 출제되었으나, 최근에는 4시간을 주고 1문제는 빡구현, 1문제는 B형 느낌의 문제가 출제된다.

나는 1솔을 목표로 빡구현 문제만 정확히 푸는데 초점을 맞추고 준비를 했다. 따라서 시험장에서도 B형 느낌의 문제는 건드리지도 않았다.

문제에 접근하는 방법

삼성은 기출이 모두 공개되어 있어 공부 소스는 많다. 다만 문제에 접근하는 전략 없이 무작정 풀면 안된다. 특히, 최근 기출로 갈수록 문제 수준이 올라가서 무작정 문제에 덤비는 방법으로는 막히게 됐을 때 크게 당황할 수 있다.

아래는 내가 생각하는 삼성 코테에 필요한 전략들이고, 상단에 있을수록 더 중요하다.

1. 타이핑은 최대한 뒤에 하자. 문제 이해에 시간을 많이 투자해야 한다

문제를 접하고 초기 10~15분은 타이핑을 하지 않고 문제를 온전히 이해하기 위해 집중해야 한다. 이때, 나는 조건들을 손으로 적어가면서 정리했다. 지문의 조건 하나하나를 꾹꾹 쎄게 읽어줘서 머리에 남겨야 한다. 코드 먼저 작성 시작하는 것보다 훨씬 시간을 아끼는 방법이다. 이때, 예시가 주어진 경우 반드시 완벽하게 이해하고 넘어가야 한다.

2. 조금이라도 복잡한 로직이면 손코딩을 먼저하자

머리속으로 대충 이렇게 하면 되겠지라고 하고 넘어가는 것과 직접 손코딩을 해보며 조건들을 코드에 녹여 보는 건 천지차이다. 놓칠 수 있는 예외케이스를 찾기 훨씬 쉬워지므로 손코딩을 귀찮아 하지 말자.

3. 테케를 돌리기 전에 코드 전체를 쭉 읽고 스스로 로직 체크한 후 돌리자

문제를 풀 때 어느정도 다 된 것 같다고 느끼면 테케를 돌려보고 싶은 유혹이 생긴다. 이때 테케를 돌리는게 아닌 내 로직을 천천히 읽으며 점검해야 한다. 내가 기출을 풀며 느낀 점은 내가 짠 코드를 쭉 읽지 않고 테케를 돌리면 틀린 케이스가 나왔을 때 퉁탕퉁탕 반례를 찾아가며 고치게 된다는 것이다. 이러면 로직이 꼬이게 된다. 테케를 돌리기 전에 반드시 내가 짠 로직을 정독하며 점검하자.

또한, 틀린 테케가 나왔을 때 해야 할 일은 문제를 다시 읽는 것이다. 이 방법이 내가 느꼈을 때 틀린 테케를 가장 빠르게 바로 잡는 방법이다. 퉁탕퉁탕 고치는 방법은 한계가 있으며, 꾸준하게 문제를 잘 풀지 못한다.

4. 제일 먼저 생각해야 할 건 브루트포스(완전탐색)이다. 놓치지 말자.

삼성의 빡구현은 대부분 시간복잡도 최적화를 크게 고려하지 않고, 완전탐색을 하면 된다. 따라서 항상 브루트포스(완전탐색)을 먼저 생각하고, 혹시 해당 방법이 안될 것 같을 때 다른 방법을 찾으면 된다. 처음부터 다른 방법을 떠올리면 크게 돌아갈 수 있다.

현장 시험 후기

내 전략은 빡구현 1문제를 완벽히 맞추는 것이었기에 초반 20~30분은 타이핑하지 않고 문제를 완벽히 이해하는데 사용했다. 이때, 시험 시작하자 타이핑을 하는 친구들이 꼭 있는데 이 친구들은 어차피 얼마 뒤에 조용해지니 무시하면 된다.

문제 이해 이후에 대부분의 로직을 손코딩으로 작성하고, 다시 한번 문제 조건들을 읽으며 빠트린게 없는지 체크 한 이후 타이핑을 시작했다. 타이핑을 모두 마친 시간이 시험 시작 1시간 30분 정도 후였다. 이후, 30분 동안 내가 작성한 로직에 문제가 없는지 쭉 읽으면서 스스로 체크했고, 시험시작 2시간 후 테케를 모두 맞추었다.

2시간이 남아서 B형 느낌 문제를 건드려볼까 했지만, 완벽한 1솔이 더 중요하다고 판단하여 검토만 계속했다. 수정할 코드는 없어 시험은 그대로 종료되었다.

시험 종료 후 오픈채팅방에서 몇솔했는지 투표가 진행되어 결과를 봤는데, 1솔이 생각보다 너무 많았다. 그래서 솔직히 떨어졌다고 생각했고 B형 느낌의 문제를 건드리지 않은 것을 후회했다. 결과적으로는 합격했지만, 추후 준비하는 분들은 B형 느낌의 문제도 어느 정도 대비를 해두는 것이 좋을 것 같다.

풀었던 문제들

삼성 대비 문제들은 아래에서 확인할 수 있다.

원래 목표는 모든 문제들을 풀어보는 것이었으나 그냥 하루에 한 문제를 꾸준히 푸는데 초점을 맞췄다. 평소에 백준 문제집의 문제들을 풀다가 시험 직전에 코드트리에 있는 최신기출 2문제, SWEA에 있는 1문제를 풀었다. 지금 확인해보니 총 36문제를 풀었다.

< 백준 >

< 코드트리 >

< SWEA >

기타

  • SWEA 사이트의 문제를 반드시 시험 전에 한번 접해봐야 한다. 테스트 케이스들을 for문으로 돌리므로 코드를 짤 때 이러한 부분들을 고려해줘야 한다. 시험장에서 당황하지 않기 위해 반드시 풀어보자.

이 글을 보는 분들에게 도움이 되었길 바라며 합격을 기원합니다!

profile
성장!

3개의 댓글

comment-user-thumbnail
2024년 4월 6일

도움 많이 됐습니다. 정말 감사합니다 !

1개의 답글