카테고리 없음
경력 이직 SW 역량테스트
chaloalto
2025. 6. 10. 22:26
업무 4년차에 들어서면서 경력 이직을 위한 SW 테스트 준비 과정을 기록해 보고자 한다.
Schedule
- 2025.06.10 이력서 작성 및 SW 공부 시작
Intro
- Perplexity 가 알려주는 경력 SW준비
oo의 경력직 SW 역량테스트(주로 B형, Professional 등급)는 중상급 난이도로 평가됩니다. 신입 공채에서 보는 A형보다 어렵고, C형(Expert)보다는 쉬운 수준입니다. 실제로 oo SW Expert Academy의 D4~D6 난이도 문제(백준 기준 골드~플래티넘 초반)와 유사한 문제들이 출제됩니다
주요 특징은 다음과 같습니다.
- 문제 수 및 시간: 4시간 동안 1~2문제를 풉니다. 최근 B형 기준 4시간 1문제 출제 빈도가 높습니다.
- 문제 유형: 대부분 복잡한 시뮬레이션, 2차원 배열 구현, 동적 프로그래밍(DP), 그래프 탐색(BFS/DFS), 최적화(메모이제이션 필수) 등입니다
- 필수 역량: 단순 구현이 아니라, 시간/공간 복잡도 최적화와 효율적인 알고리즘 설계 능력이 요구됩니다.
DP, 백트래킹, 그래프, 세그먼트 트리 등 고급 자료구조 활용이 자주 필요합니다
- 난이도 체감: 일반 기업 코딩테스트보다 한 단계 어렵고, DP를 반드시 활용해야 풀리는 문제가 많습니다
효과적인 공부 방법
1. 기출문제 반복 풀이
- SW Expert Academy, 코드트리, 백준 등에서 삼성 기출 및 D4~D6 난이도 문제를 반복적으로 풀어보세요178.
- 실전 환경(4시간 타이머, 인터넷 미사용 등)에서 연습하면 실전 감각을 익힐 수 있습니다78.
2. 알고리즘/자료구조 기본기 강화
- 정렬, 탐색, DP, 백트래킹, 그래프 탐색(BFS/DFS), 세그먼트 트리, 해시, 트리 등 주요 알고리즘을 숙달하세요78.
- 특히 DP와 시뮬레이션, 2차원 배열 구현 문제에 집중하세요18.
3. 코드 최적화와 디버깅 연습
- 시간/공간 복잡도 계산과 최적화에 신경 쓰세요. 제한 시간 내에 동작하는 효율적인 코드를 작성하는 연습이 필요합니다17.
- 디버깅 능력도 중요합니다. 다양한 테스트 케이스로 경계값, 예외 상황을 점검하세요17.
4. 실전 모의고사 및 코드 리뷰
5. 추천 학습 경로
- 언어 문법 숙지(주로 C++, Java, Python 중 선택)
- 백준/프로그래머스에서 쉬운 문제로 기본기 다지기
- 삼성 SW 역량테스트 기출 및 유사 문제 집중 풀이
- 실전 모의고사 반복378
블로그 후기
Reference
삼성 SW 역량테스트 B급 (SW Certificate Professional) 합격 후기
안녕하세요이번에 이직 준비를 하다가 삼성에 좋은 기회가 생겨서 삼성 SW 역량 테스트를 보게되었습니다. 경력 검증 시험은 B형 시험으로 Professional 등급 입니다사용언어는 C++로 보는게 제
softtone-someday.tistory.com
SW역량 테스트 B급 타겟

위 사진에 제시된 SW Expert Academy 문제의 난이도 D4~D6을 푸셔보면 아시겠지만,
일반적인 알고리즘 문제 해결력을 보는 다른 회사들이랑 다르게
메모리제이션과 최적화를 해야만 풀수 있게끔 문제가 나옵니다
즉, 무조건 DP( Dynamic programming )을 사용해야만 문제를 풀 수 있게끔 되어있습니다.
라고 블로그에 적혀 있어서, 커리큘럼을 따라 가보기로 결정.
- 삼성 SW Expert Academy에서 문제 형식 학습
- 프로그래머스 Level 2 정답률 40% 까지 좋은 문제만 풀기 (DFS, BFS, 그리디 등)
- 프로그래머스 Level 3, 백준 삼성 문제 카테고리, 삼성 SW Expert 문제 풀기 (DFS, BFS, 그리디, DP 등)
- DP 문제만 죽어라 풀기(Do it! 코딩테스트 C++ 책 DP 파트 수록 문제 전체, 유명한 DP 문제들 검색해서 스스로 풀기)
코테의 기회를 4번 주나보다.
이력서를 먼저 집중해서 작성.
- 토익스피킹 점수 (살아있음)
- 자격증 (sub)
- 경력작성 (main)
- 학력 (main)
- 학교 수상내역 (sub)
공부내용
6/10 : cpp 위주의 문법 복습
이하는 혼자 보기 위한 문법 정리. notion 복붙이라 index 가독성이 안좋음
더보기
- vector
- 초기화
- vector <int> v;
- vector <int> v(5); 0으로 초기화된 5개
- vector <int> v(5,2); 2로 초기화된 5개
- vector <int> v2(v1); v2는 v1 으로 초기화 되었음
- 함수
- v.size()
- v.empty()
- v.front()
- v.back()
- v.push_back(7);
- v.pop_back();
- v.begin / v.rbegin
- v.end() / v.rend
- v.assgin(5,2) ; 2의 값으로 5개의 원소 할당
- v.at(idx) 느리지만 안전
- v[idx] 빠르지만 위험
- v.clear() 모든원소 제거.
- v.insert(2,3); 2번째 위치에 3 넣기
- v.insert(2,3,4); 2번째 위치에 3개의 4값 444 넣기
- v.resize(n) ; 크기 n으로 변경.
- v2.swap(v1) ; v1, v2 의 원소와 capacity 를 변경
- v1를 없앨때 사용하기도 한다.
- v2 capactity 가 0인 임시 객체 만들어서 스왑
- vector<int>().swap(1)
- 특수 함수
- reverse(v.begin(), v.end());
- sort(v.begin(), v.end());
- vector 원소 출력 1.
- for(vector<int>::iterator iter = = v.begin(); iter!=v.end(); iter++) { cout << *iter << endl; for(vector<int>::reverse_iterator riter = v.rbegin(); ){ for
- 초기화
- <qeueu>
- q.push(1)
- q.pop() ; front 를 삭제. 리턴이 없음
- q.front() ; front 를 리턴, 지우지는 않음
- q.back(); back 을 리턴, 삭제하지는 않음
- q.size();
- q.empty();
- <stack>
- s.push(값)
- s.pop(); 원소삭제,
- s.top(); top반환
- s.size()
- s.empty()
- s.swap(stack1, stack2);
- pair - 컨테이너가 아니며, 단일 데이터를 담는데에 사용
- #include <utility>
- pair<int, int> p
- pair<int, int> p = make_pair(1,2);
- make_pair(변수1, 변수2)
- int a = p.first;
- int b = p.second;
- map - key-value 쌍을 저장하는 연관 컨테이너입니다.
- #include <map>
- map<string,int> m;