SSAFY

삼성 상시 SW 역량 테스트 B형 합격 수기 (1트)

DeveloperJason 2023. 9. 19. 10:18

안녕하세요. SSAFY 10기생입니다.

8월 19일 실시된 SW 역량테스트 B형에 합격하게 되어 수기를 작성하게 되었습니다.

사실 합격 소식을 받은 지는 3주 이상 지났지만 딱 한 달 되는 차에 되돌아볼 겸 합격 수기를 써보려 합니다.

 

들어가기에 앞서 어느 정도 제 역량을 알아보실 수 있게 객관적인 지표로 알려드리면 현재 solved.ac에서 골드 1 티어입니다. 해당 정보를 감안하여 보시면서 ‘B형에 도전해도 될 것 같다!’라는 생각을 하실 수 있으면 좋겠습니다.

 

현재 글은 시험을 준비하면서 느꼈던 감상이나 시험에 임할 때 어떤 느낌이였는지 등을 위주로 작성하겠습니다.

시험 준비 과정이나 공부 방법 등은 추후에 다른 글로 올리도록 하겠습니다.

 

 

0. 들어가기 전에

- SWEA? 삼성에서 운영하는 백준과 유사한 문제은행 사이트 (개인적으로 문제점이 많다고 생각해 애용하지는 않습니다.)

- 삼성 역량 테스트? 개인 SW 역량을 알아볼 수 있고 B형 취득자는 삼성 계열사 코딩 테스트 면제 등의 혜택이 있습니다.

 

B형을 취득하려면 A형이, C형을 취득하려면 B형을 갖고 있어야 도전할 수 있습니다. 저는 싸피에 들어오기 위해 쳤던 코딩 테스트에서 괜찮은 점수를 받았던 것인지 임시 A형을 취득한 상태로 입과 하여 B형을 바로 응시할 수 있었습니다.

 

A형은 제출 시 합불이 나오기 때문에 가독성 높은 코드는 중요하지 않습니다. 하지만 B형부터는 히든 케이스들이 모두 통과한 이후에도 따로 코드 리뷰 후에 합불을 결정한다고 하니 가독성이 떨어지는 코드는 좋지 않게 보이지 않을 것 같습니다.

 

라이브러리를 사용하지 못한다고 적혀있는 것과는 달리 Queue, PriorityQueue 등도 사용할 수 있었던 것을 보면 웬만한 라이브러리를 사용해도 될 것 같습니다.

 

 

1. 응시 전 준비 단계

 싸피 내에서 진행되는 B형 특강을 수강할 때 가장 도움 많이 됐던 조언이 바로 ‘문제를 상세히 읽어야 한다’라는 점이었습니다. 이전에도 나름 문제를 꼼꼼히 읽는다고 생각했었지만 문제를 읽고 어떤 알고리즘을 적용할지 미리 생각한 뒤 시간 초과가 나오면 입력 범위를 확인한 뒤 다시 생각하던 기억들이 스쳐 지나갔습니다. 특강 이후 문제를 꼼꼼히 읽으며 입력의 범위를 확인하고 시간 초과가 나지 않기 위해 어떤 알고리즘을 적용해야 할지를 고민하던 시간들 자체가 단시간에 높은 구현력을 갖추기 위한 밑거름이 된 것 같습니다.

 

2. B형 응시

 역시나 '문제를 상세히 읽어야 한다'는 큰 도움이 됐습니다.

 1) 입력 범위를 상세히 파악했었고, 2) 어떤 기능과 어떤 부분을 중점적으로 구현해야 하며, 3) 어떤 부분을 놓치지 않고 유념하고 있어야 할 지를 종이에 정리한 뒤 이후에 키보드를 잡았습니다. 아주 상세한 기능을 구현했어야 했던 만큼 미리 이러한 부분들을 정리해 두고 나니 이후에는 생각을 코드로 옮기기만 하면 됐습니다. 하지만 중간중간 구현 방법에 대해 떠오르는 아이디어를 잊어버리지 않게 빠르고 짧게 주석으로 적어두고 다시 구현하는 방식으로 집중을 유지했습니다.

 

 개인적으로 문제를 풀면서 느낀 점은 ‘머릿속의 퍼즐들을 잘 정리 해 놔야 시간 안에 문제를 해결할 수 있겠다’라고 생각했습니다. 한 문제를 위해 4시간은 긴 시간이지만 여유로운 시간은 아니었기 때문에 코드 구현뿐만 아니라 최적화에도 효율적인 방법이 필요했습니다. 최적화를 위해 코드를 다시 볼 때 주석이 많아야 생각의 흐름을 빠르게 따라가고, 필요하지 않다 판단되는 코드들은 과감하게 쳐낼 수 있었습니다.

 

 저는 체감 상 두 시간 반 정도를 구현에 썼고, 한 시간 정도를 디버깅에 썼습니다. 생각보다 많은 시간을 디버깅에 투자한 만큼 테스트 케이스가 모두 통과한 이후 남은 시간이 많지 않았습니다. 그래서 저는 남은 시간 동안 더욱 최적화하기 위해 도전하기보다 이후 코드 리뷰하실 분들을 위해 코드를 정리하는 시간을 가졌습니다.

3. 응시 이후

 당일 한 시부터 다섯 시까지 중 세 시간 사십 분 정도를 집중했더니 생각보다 몸에 무리가 갔는지 이후 시간 동안 아무 것도 못하는 상태로 다음 날이 되어서야 겨우 회복이 됐습니다. 이후 한 주간 다시 열심히 공부하고 있던 와중 합격이라는 소식을 듣고 정말 기분이 좋았습니다. 반 친구들도 모두 자신의 일인 것처럼 축하해 줘서 더욱 그랬던 것 같습니다.

 최근 들어서는 싸피 자체 커리큘럼이 웹에 집중된 것도 있고, 싸피 들어올 적의 목표였던 B형을 취득한 것도 있어서 그런지 문제 풀이가 잘 이루어지지 않습니다. 본 수기를 작성하면서 마음을 다잡고 다시 열심히 문제를 풀어보려 합니다. :)

느낀 점

 다행히 자신 있는 그래프와 우선 순위 큐를 사용하는 문제가 나와 비교적 수월하게 문제에 임했습니다. 사실 코드 실행 시간을 신경 쓰고 있지 않았다 보니 시험을 치고 나온 동기들과 많은 내용들을 공유하지 못해 ‘시험이 생각보다 할만했으니 좋은 경험이라 생각하고 다음 시험 때는 시간을 기억하고 나오자’라는 생각을 하고 있었습니다. 그러던 와중 받은 합격 소식이라 더욱 기쁘지만 ‘과연 내가 한번 더 친다면 통과할 수 있을까?’라는 생각이 들었습니다. 결국 역량 테스트도 시험이기 때문에 운이 어느 정도 따라 줘야 한다고 생각합니다. 모든 시험에서 통과하지 못해도 운이 따라줄 때 잘 잡을 수 있게 열심히 준비하고 꾸준히 도전한다면 좋은 결과가 있을 것입니다. 긴 글 읽어주셔서 감사합니다.