B형 벽 절대 안높아! 개발자는 뭐? 자신감!!

·2024년 4월 11일
3
post-custom-banner

서론 (삼성 B형 이란?)

화요일 저녁 7시, 메일이 한통 도착했다. 삼성 SW 역량 테스트 B형에 합격했다는 소식이었다. 문제를 풀었을 때 부터 짐작은 하고 있었지만 확답을 받으니 역시 기분이 좋더라.

B형이 뭐죠?

삼성에서 SW 개발자에게 제공하는 역량 테스트의 등급이다. 크게 A,B,C 형이 존재하며, 본래 상시 테스트 형태로 시험을 신청하고 테스트를 볼 수 있었으나, 팬데믹 이후 상시테스트가 무기한 연기되었다.

C형은 삼성 내 SW개발자 가운데 B형을 소유한 사람만 참여 기회가 주어지므로, 사실상 현재로서는 B형이 일반 SW 개발자가 삼성 SW 역량 등급에 도달할 수 있는 가장 높은 등급이기도 하다.

현재 일반인이 B형 시험을 볼 수 있는 방법은 SSAFY 교육과정 참여하여 A형을 취득했거나, 상/하반기에 열리는 삼성전자 DX 또는 삼성 sds의 알고리즘 역량 강화 특강에 참여해야만 기회가 주어진다.

필자의 경우, 삼성전자 DX 알고리즘 역량 강화 특강을 통해 취득하게 되었다.

역량 강화 특강에 참여하기 위해서는 선별 시험(코딩 테스트)을 통과해야한다.

있으면 뭐가 좋나요?

뭐 없다. 자격증으로 쓸 수 있는 것도 아니고, 그냥 노력한 거에 보상 받는 느낌을 받을 수 있다는 거?

아, 알고리즘 얘기할 때 좀 자신감이 생긴다.
“저 B형 있어요.” 한마디면, 잠시 주변의 부러움을 만끽할 수 있다.

삼성 코테 PASS 있지 않나요?

맞다. 단 서류를 통과했을 때 얘기이다. 최근에는 신입 개발자의 능력이 상향 평준화 되어, B형을 취득한 사람들이 꽤 생겼다 (필자도 그중 하나임). 그래서인지 B형이 있어도 서류가 통과되지 못하는 경우도 있었다.
더 중요한 건, 채용이 100% 확정되는 것도 아니기 때문에, 큰 메리트로 다가오진 않는다.

본문 (해결전략)

우선, 나의 알고리즘 해결 능력을 수치화하면 대충 이렇다.

  • 알고리즘 공부기간 : 2년차
  • BOJ : 850문제 해결 (골 1~5 700문제 정도 해결), 플래티넘 4
  • 프로그래머스 : 3000위 대
  • SSAFY 알고리즘 교육과정 참여 / 삼성전자 DX 알고리즘 역량 강화 특강 참여
  • 수학적 지식 : 문송합니다만?

보통 코딩 테스트를 보면 네카라 급은 통과해본 경험이 없고, 대기업은 가뭄에 콩나듯 통과, 소규모 스타트업의 경우 평범하게 통과하는 정도이다.

자신감

가장 중요하다! 문제에 겁먹지 말자. B형 문제 중에는 의외로 쉽게 풀리는 문제도 더러 있다. 문제 자체의 난이도가 높기 보다는, 익숙하지 않아 어려움을 느낄 수 있다. 괜히 주눅들어서 본 실력도 발휘하지 못한다면 그것만큼 아쉬운 것도 없을 것이다.

먼저 B형 유형에 익숙해질 필요가 있다. 교육과정에서 제공되는 기출 문제를 꼭 다 푸는 것을 권장한다.

구현 스킬

필요한 알고리즘을 활용하여, 원하는 구현을 할 수 있는 능력이 어느정도 있어야한다. 예를들어 재귀, 분할정복을 진행하는 경우, 생각한 탐색 순서를 코드로 구현할 수 있어야 한다.

응용 지식

종종 기초 알고리즘의 응용 지식을 필요로 하는 문제들이 나오기도 한다. 알고리즘 공부를 꾸준히 했다면 한번쯤은 지나쳤을만한 주제들이다.

  • 이분탐색 : lowerBound/upperBound, 매개변수 탐색
  • 트리 : 트리의 지름 구하기, 전위/중위/후위, LCA
  • 우선순위 큐 : 중앙값 구하기
  • 세그먼트 트리 : lazy propagation

시간 복잡도

B형의 경우, 대부분의 문제가 최적화가 필요한 경우가 많다. 따라서 자신이 생각해낸 풀이의 최대 시간복잡도를 구해볼 필요가 있다. 보통 50 케이스를 기준으로 했을 때, 한 케이스당 O(200~300만) 이하라면, 구현을 시작해도 TLE 가 날 확률이 적다.

결말 (짤막한 팁들!)

시험을 직접 경험해보며 느낀 점들을 서술하자면 다음과 같다. 해당 내용은 시험마다 다를 수도 있으니 참고만 하자.

화장실 가능

시험도중 원한다면 화장실을 가는 것이 가능하다. 보통 인재개발원에서 시험을 보는데, 삼성 답게 화장실이 거의 호텔급이다. (가글있는 화장실 처음 봤음)

음료 가능 (때에 따라 다름)

커피나, 물 등을 가져와 마셔도 특별히 지적하지 않더라. 단, 몇몇 주변 분들의 경우 “라때는 음료 반입 안되었다” 고 말씀하시는 분도 있었으니, 사전에 미리 물어볼 것을 권장한다.

계산기, 메모장 쓸 수 있음

IDE 외에 계산기랑 메모장 프로그램을 이용 할 수 있다. (이외 프로그램은 사용 불가) 나의 경우, 계산기는 시간 복잡도를 구할 때, 메모장은 테스트케이스를 만들 때 사용했다.

의외로 테스트가 친절함

B형 문제는 난해하지만, 의외로 친절한 점이 많다. 개인적으로 느끼기엔 “아이디어와 구현만 제대로 한다면, 탈락하지 않는다." 라는 느낌이었다. 이유는 다음과 같다.

  • 테스트케이스를 넉넉히 준다. 사례가 많으니 히든 테케로 인해 탈락하는 경우가 드물다. 당시 코치의 이야기로는 히든 테케도 제공되는 테케와 크게 다르지 않다고 한다. 필자 경험 상 주어진 테케가 통과헀는데, 히든 테케 때문에 unsolved 가 되는 경우는 만나지 못했다.

  • 타입에 대해 신경을 써주는 경우가 있다. 풀었던 기출의 경우, 타입 초과가 일어날 수 있는 경우, 문제에서 미리 언급을 해준 경우를 봤다. (ex. int 를 쓰면 타입 초과가 일어날 수 있습니다. long 을 사용해주세요)

  • 문제에 대해 예시를 통해 상세하게 설명해준다. 지문을 읽고 이해하지 못한 내용을 예시를 통해 이해하는 경우가 있다. 도형이나 그림을 활용하여 상세하게 안내를 해주기 때문에, 문제 자체를 이해하지 못해서 풀지 못하는 경우는 드물다.

  • 고민할 시간을 넉넉히 준다. 주어지는 4시간은 아이디어를 제시하고 이를 바탕으로 코드를 구현하기 충분한 시간이다. 구현할 시간이 적어서 못 풀었다는 경우는 드문 편이다. (보통 해결책을 생각하지 못하거나 TLE 로 탈락하는 경우가 더 많다.)

profile
새로운 것에 관심이 많고, 프로젝트 설계 및 최적화를 좋아합니다.
post-custom-banner

0개의 댓글