삼성 SW 역량테스트 A형, B형 후기

SSAFY 과정 중 삼성 SW 역량테스트 A형, B형 모의 시험에 응시하였다.
모의 시험이지만 시험 난이도는 기존 A형, B형과 동일하다고 한다.

현재 코로나로 인해 삼성 SW 역량테스트를 따로 진행하지 않고 있고,
그렇기에 SSAFY에서도 모의 시험으로 진행되었다.

A형 테스트

A형 시험은 3시간에 2문제가 주어지는데
1문제를 맞추면 A, 2문제를 다 맞추면 A+ 등급을 얻을 수 있다.

시험 사이트와 문제 입출력은 SW Expert Academy와 매우 흡사하기 때문에 여기서 문제를 꼭 풀어볼 것.

A형을 준비한다면 기출 문제와 모의 문제들은 풀어보는 것을 추천한다.

SWEA 모의검정 문제
백준 삼성 A형 기출문제
백준 삼성 SW 역량테스트 기출문제

A형 후기

현재 오프라인에서 시험이 불가능한 상황으로
시험은 온라인 감독 시스템으로 캠과 마이크를 켠 상태로 진행하였다.

시험에서는 SWEA 사이트와 다르게 예제 테케만 맞으면 일단 통과상태가 되는데,
실제 점수를 채점할 때는 보이지 않는 테케들이 있다. 모든 테케를 통과해야 100점을 얻을 수 있다.


A형 결과
정확히 기억은 안 나지만 꽤 까다로운 구현문제가 있었고,
2문제 모두 풀었지만 혹시 숨은 케이스에 걸리지 않을까 걱정했는데 다행히 잘 구현했던 것 같다.

2문제 모두 맞아 A+ 등급을 받았다.

B형 테스트

B형 시험은 A형을 획득해야 응시가 가능하고, 4시간에 1문제가 주어진다.
B형부터는 Python으로는 응시할 수 없고, C, C++, Java로만 시험을 칠 수 있다.

B형 시험부터는 원래 라이브러리 사용이 불가능이었으나,
작년 말부터 라이브러리 사용이 허용되어 일반적인 라이브러리는 거의 사용이 가능하다.

A형과 다른 부분은 문제에서 요구하는 기능을 처리하는 함수를 만들어야하는데,
Main 함수는 수정할 필요 없이, Solution 파일에서 제공하는 함수 내용만 구현하면 된다.

B형 후기

모의 시험이지만 역시나 모의 A형 취득자에게만 응시 기회를 제공하였고,
공식으로 인정되지는 않지만 시험 절차는 더 까다롭게 진행되었다.

우선 스마트폰으로 삼성직무적성검사 감독 프로그램을 설치하여 화상 및 마이크 모니터링이 진행된다.
시험도 제공되는 ID, PW를 통해 VDI로 원격접속하여 응시해야 하는데,
여기에서 제공되는 IDE만 사용 가능하며 듀얼모니터 및 인터넷 검색 등은 역시 불가능하다.


우선 B형 문제는 지문의 분량이 엄청 길었다.
시간도 일단 4시간이나 되었기에 처음 30분 ~ 1시간은 문제를 잘 읽고,
어떤 자료구조를 사용하여 어떤 방법으로 구현할지, 시간/공간 복잡도를 생각하며 설계하였다.

이후 코드를 작성하기 시작했고 구현을 처음 완료했을 때는 테스트케이스가 반도 맞지 않았다.
다행히 시간초과가 나지는 않았고, 시간복잡도상으로는 괜찮아보여 디버깅하며 문제를 찾았다.

그래도 여전히 테스트케이스 일부가 맞지 않았고,
계속 고민하다 지문을 처음부터 다시 차근차근 읽어보았더니 내가 놓친 부분들이 있었다.

해당 부분을 추가 구현하고 디버깅을 통해 문제를 수정하니 그제서야 모든 테케가 맞았고,
엣지 케이스를 생각하며 방어코드를 작성하고 코드를 일부 더 수정하여 제출하였다.


B형 결과
다행히도 설계한 부분에 문제가 없었는지 B형을 취득하게 되었다..!
근데 왜 모의..

기타 후기

일단 A형과 B형 테스트를 모두 통과하여 기분이 매우 좋다.
알고리즘 실력이 예전에 비해 많이 늘은 것 같아서 뿌듯하기도 하고,
열심히 하니까 되는구나 하는 생각도 들어서 자신감도 생기는 것 같다.

사실 B형을 통과하는데는 라이브러리 사용이 가능하도록 풀린게 큰 것 같고,
기회가 되어 dotorya님의 특강을 듣게 되었는데 그 부분도 도움이 많이 되었다.

문제를 접근할 때 우선 문제를 잘 읽고

1. 생각나는 아이디어들을 일단 다 적는다. (브레인 스토밍)
2. 그 후 해당 아이디어가 가능한 방법인지 시간, 공간 복잡도로 생각해보고  
가능하지 않다면 아이디어를 개선해본다.
3. 구현을 구체화하면서 최대한 간단하게 구현해보고 본격적으로 구현한다.

위와 같은 순서로 구현한다고 하셨는데 1, 2번의 방법대로 설계만 제대로 된다면
시간 초과나 메모리 초과가 날 이유가 없기 때문에 코드를 다시 짤 이유도 없게 된다.

Continue reading


© 2021. All rights reserved.

Powered by Hydejack v9.1.5