본문 바로가기
개발공부/[코딩테스트_SWEA]

파이썬 삼성 SW Certi Pro 합격 후기 출제 유형(삼성 SW 역량 테스트 B형 후기)

by 왜지? 2024. 6. 8.
반응형

 

드디어 삼성 SW Certi Pro 등급에 합격했다. 파이썬으로 시험을 치는 나에게는 한 달에 한 번밖에 시험 기회가 없어서 시간이 너무 오래 걸린 것 같다. 23년 1월부터 시험을 치기 시작했으니 거의 1년 4개월이 걸렸다. 이번 포스팅에서는 오랜 기간 삼성 SW Certi 시험을 준비하며 느낀 Pro 등급 출제 유형 및 비전공자 입장에서 공부 방법을 소개한다. Advanced 등급 후기가 궁금하다면 아래 링크를 통해 확인할 수 있다. 

Advanced 후기 확인하기 >> [링크]

파이썬 SW Certi Pro 출제 유형 및 공부 방법

파이썬 Pro 검정은 절대평가로 시험장에서 25개의 testcase가 먼저 주어지고, 해당 testcase를 모두 통과하면 코드를 제출할 수 있다. 그리고 추후에 50개의 testcase로 다시 채점을 진행하여 문제별 제한 시간 안에 들어오면 최종 합격을 한다. 보통 50개 testcase 기준으로 Python은 5초에서 7초 사이에 들어와야 한다. 시험 시간은 총 4시간이고 Python 3.7 버전을 사용한다. 

 

Advanced 등급에서는 기본적인 코딩 역량을 주로 본다면, Pro 등급에서는 시간복잡도의 이해를 바탕으로 문제에 맞는 알고리즘을 선택하는 역량이 요구된다. 출제자의 의도를 파악해서 그 문제에 맞는 적절한 알고리즘과 자료구조를 선택해야 하는 것이다. 말로만 들으면 너무 어렵다.  어떤 이론과 능력이 필요한지 아래 표로 보겠다.

주제 상세 내용
Python 기능 1. built-in library & function 사용법 ( collections, heapq 등 )
2. data types 별 상용법 ( list, dict, deque 등 )
3. 각종 python 명령어 사용법 ( break, continue 등 )
알고리즘 1. recursion, dfs/bfs
2. heap, hash
3. binary search
4. sqrt decomposition
5. dijkstra
6. lca
7. union-find
8. calculator
문제 해결력 1. 시간복잡도 분석 방법
2. 적절한 자료구조, 알고리즘 선택 방법

 

 

python 활용적인 측면과 알고리즘/자료구조 적인 부분을 모두 공부해야한다. 내가 강의를 듣고 공부하며 느낀 바로는 문제당 적어도 30분은 문제에서 요구하는 알고리즘과 자료구조가 뭐인지 고민하는 것을 추천한다. 처음부터 코드 구현을 하다 보면 비효율적인 코드를 구현하느라 시간을 쓰고 결국은 타임 아웃으로 시험에서 떨어지는 경험을 많이 했기 때문이다.

 

 

 

 

 

BFS, DFS, Dijkstra, sqrtDecomposition 알고리즘과 Dict를 이용한 Hash 구현, heapq를 이용한 우선순위 큐, Dict를 이용한 tree 및 graph 구현은 Python Pro 시험의 단골 요소이니 완벽히 구현 및 활용할 수 있도록 해야한다. Python 기출문제를 보면 거의 대부분이 위에서 언급한 내용으로 해결이 가능하다. 

 

사람마다 익숙하게 느껴지는 알고리즘이 있는데, 나는 BFS와 Dijkstra 알고리즘이 그랬다. 그래서 BFS와 Dijkstra가 시험 문제로 나오면 꼭 풀 수 있도록 집중적으로 문제풀이를 했었다. 그리고 Dijkstra 문제로 Pro 시험에 합격을 했다. 하지만 Python Pro 검정은 한 달에 한번뿐이라, 한 두 개의 알고리즘이 나올 때까지 기다리는 전략은 좋지 않은 것 같다. 

 

시간이 조금 걸리더라도  BFS, DFS, Dijkstra, sqrtDecomposition 알고리즘과 Hash, heapq, tree, graph 자료형 관련 문제를 많이 풀어보면 계속 비슷한 유형의 문제가 출제된다는 것을 깨닫게 될 것이다.

 

이상으로 파이썬 삼성 SW Certi 검정 합격 후기 및 출제 유형 소개를 마친다. 

 

반응형

댓글