2025. 4. 19. 19:47ㆍ취업
벌써 시험을 본 지 3년이 지났네요. 시간이 흐른 지금, 당시 준비 과정을 되돌아보고, 이제는 현직자의 시선에서 정리해보면 다른 분들께도 도움이 될 수 있지 않을까 싶어 글을 남깁니다.
삼성의 SW 역량테스트(SW Expert Academy)는 임직원이 아닌 경우, 시험을 보기 위한 루트가 크게 두 가지로 나뉩니다.
- SAFFY(삼성 청년 SW 아카데미)
- 연간 4회의 시험 기회 제공
- 1년 과정 중 꾸준히 실력을 키우며 도전할 수 있음
- 삼성전자 DX부문 대학생 알고리즘 역량강화 특강
- 여름/겨울 방학 기간 중 운영
- 각각의 특강 당 1회씩, 연 2회의 시험 기회 제공
제가 시험을 봤던 당시에는 B형 문제도 라이브러리 사용이 가능했지만, 공식 홈페이지에서 이와 관련된 업데이트는 다소 늦게 반영되는 편이었습니다.
워낙 최적화 문제가 많다 보니, gcc 버전, 지원 언어 등에 대한 질문이 커뮤니티에서 끊임없이 올라왔었죠.
그런데 최근 들어 홈페이지를 다시 살펴보니, 과거보다 훨씬 상세하게 언어 지원 범위와 컴파일 환경이 정리되어 있더군요.
지원 언어별 컴파일러 버전, 사용 가능한 표준 라이브러리, 최적화 플래그 등 실전에서 중요한 정보들이 이제는 훨씬 잘 정비된 느낌입니다.
![]() | ![]() |
시험장에서 사용가능한 Tool은 다음과 같습니다.
가능 : Visual Studio, Eclipse, Pycharm, 계산기, 메모장
불가능 : 인터넷 사용, 엑셀
시험 당일, 필기도구를 깜빡했던 기억이 나네요. 태블릿으로 대학 강의 필기에 익숙해져서 그런지 당당하게 노트북을 챙기고 시험장으로 갔었네요. 다행히 빈 종이 2장과 볼펜을 제공합니다.
Advanced 등급부터는 일부 문제에서 완전 탐색(Brute-force) 방식으로도 풀이가 가능하다고는 하나, 어디까지나 제한된 상황에서의 가능성일 뿐입니다.
반면, Professional 검정 시험에서는 완전 탐색 기반의 정답 접근은 사실상 불가능하다고 합니다. 시간 복잡도 고려는 필수입니다.
총 4시간으로 구성된 시험은 다음과 같은 전략으로 분배하는 것이 가장 좋다고 특강 멘토님들이 설명해주십니다.
- 1.5시간: 문제 설계 (문제 해석 + 접근 방식 수립)
- 2시간: 구현 (구조화된 코드 작성)
- 0.5시간: 최적화 (시간/메모리 개선, 디버깅 등)
1. 문제 해석 + 출제 의도 파악
- 문제에서 빨간색으로 강조된 부분을 반드시 꼼꼼히 읽어야 합니다.
- 제약 조건을 통해 시간 복잡도를 유추하고, 필요 없는 연산은 제거해야 합니다.
예: 자료량이 10,000 이상일 때 O(N^2) 알고리즘 사용 시 거의 확정적으로 시간 초과 발생
2. 절대평가 제도
- 시험은 절대평가입니다.
- 즉, 1문제만 정확하게 풀어도 합격할 수 있습니다.
- 상대평가였다면 억울했겠지만, 이 시험은 정직한 실력 평가라는 점에서 긍정적입니다.
3. 알고리즘 및 자료구조 역량
시험장에는 기본적인 자료구조/알고리즘에 대한 Reference가 제공되므로, 구체적인 구현이 기억나지 않아도 어느 정도 참고할 수 있습니다. 실제로 저 같은 경우에는 이분 탐색 알고리즘을 참고해서 문제를 풀었던게 생각이 나네요.
주요 자료구조
- Stack
- Queue
- Hash ← 매우 중요
- Priority Queue ← 매우 중요
- Linked List ← 중요
- Tree ← 중요
- Trie
🔍 주요 알고리즘
- Quick Sort, Merge Sort
- BFS, DFS
- DP (동적 계획법) ← 중요
- Binary Search (이분 탐색) ← 중요
- Dijkstra
팁
자료구조/알고리즘 중 Hash, Priority Queue, Tree, DP, Binary Search는 반드시 익숙해져야 합니다.
이들은 거의 모든 실전 문제에서 빈번히 등장합니다.
- 변수 초기화: 테스트 케이스가 반복되므로, 매 테스트 전 필요한 변수를 정확히 초기화
- 메모리 주의:
- Stack/Heap 크기 초과 주의
- 재귀 호출 시 Stack Overflow 방지
- 메모리 풀 권장: 동적 할당보다 메모리 풀 방식이 안정적일 수 있음
5. STL 사용 전략
- STL 사용은 가능하지만, 제약 조건 및 최적화 기준을 이해하고 사용할 것
- 일부 STL (예: map, set)은 편하지만 느릴 수 있음
- 실전 전략:
- 일단 STL로 구현 → 정답 통과 확인
- 시간 여유 있을 때, 직접 구현으로 교체하여 성능 향상 도전
팁
STL은 빠른 개발과 시간 단축에는 유리하지만, 내부 동작 원리를 이해하지 못한 채 사용하면 시간 초과가 날 수 있습니다. 특히 시험 환경은 백준보다 더 까다로운 시간이므로, 성능 분석은 필수입니다.
6. 디버깅 및 최적화 전략
- 큰 테스트 케이스를 직접 복사해서 반복 실행해보기
- 디버깅 툴 적극 활용
- 구현 종료 후, 코드 개선 시간 확보
- 시간 복잡도 재검토
- 로직 개선 여부 확인
팁
시험 시간이 남는다면 집에 간다는 생각은 금물!
반드시 최적화 및 엣지 케이스 점검 시간을 확보하세요.
특히 Professional에서는 이러한 미세한 개선이 합격/불합격을 결정지을 수 있습니다.
시험 후기
평소에 이분 탐색에 대한 막연한 두려움이 있었는데, 지난 일주일 동안 정말 열심히 파고들었습니다. 운이 좋았던 건지, 이번 시험 문제를 이분 탐색으로 풀 수 있는 문제였고, 덕분에 꽤 수월하게 접근할 수 있었습니다.
구체적으로는, 첫 번째 입력값을 기준으로 나머지 약 10만 개의 데이터에 대해 이분 탐색을 적용해 상대적인 위치를 계산했고, 그걸 바탕으로 풀었습니다. DP까지는 아니지만, 추가 메모리를 활용해서 상대 위치가 같은 데이터들을 묶어 후보로 저장한 뒤 문제를 해결해나갔습니다.
결과적으로는 꽤 빠른 실행 결과가 나온 것 같은데, 정확히는 결과가 나와봐야 제 풀이가 최적이었는지 아닌지를 알 수 있을 것 같네요.
'취업' 카테고리의 다른 글
[오픽] 단기 5일 만에 OPIc AL 받은 꿀팁! 검은 머리 외국인의 현실 후기 (4) | 2025.04.30 |
---|---|
📘 KT AI석사과정 서류 합격 팁 + 1차 / 2차 면접 후기 (0) | 2025.04.08 |
22년 7월부터 25년 4월까지 Timeline 정리 (0) | 2025.04.06 |