Notice
Recent Posts
Recent Comments
Link
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Miscellaneous

삼성 S/W 역량테스트 Level B (삼성 B형) 응시 후기 본문

후기

삼성 S/W 역량테스트 Level B (삼성 B형) 응시 후기

5-ms 2024. 8. 28. 20:39

 

서론

8월 24일에 치뤄진 B형 검정에 응시하였습니다. 그리고 오늘 시험 결과에 대한 메일을 받았습니다. 

합격!

결과는 합격!

불합격 메일에는 저렇게 형광펜 표시를 안해줬는데, 합격메일에는 노랗게 칠해주시네요 ㅎㅎ

 

지난 검정에 대한 합격여부가 응시 이후 일주일 이상 지난 후에 메일로 왔었던 터라, 이번에도 그쯤 오겠거니~했는데

학교 마치고 쉬고있던 중에 메일을 받았습니다. 

방학동안 했던 노력이 비로소 결실을 맺어 기분이 너무 좋네요. 

 

규정 상 B형 문제에대해서 말씀드릴 수는 없고, B형 시험에 대한 자세한 내용은 SWEA 역량테스트 접수 사이트나 타 블로그에서 자세히 찾아보실 수 있습니다.

 

해당 포스팅에서는 B형 응시를 위해 제가 했던 것들? 경험들에 대해서 작성하겠습니다!


 

응시 경로

코로나 이후로 상시 S/W 역량테스트가 중단되고, 외부인은 특별한 경로로만 응시가 가능합니다.

제가 알기로는 크게 SAFFY나 DX 알고리즘 특강을 통해서만 응시가 가능한 걸로 알고 있습니다.

저는 삼성 DX 알고리즘 특강을 통해서 2회의 응시 기회를 얻었습니다.

 

알고리즘 특강에 대해서 더 알고싶다면 아래 포스팅을 참고해주세요!

2024 삼성전자 DX부문 하계 대학생 S/W 알고리즘 역량 강화 특강 후기

 


검정 전 본인의 역량

저는 굳이 B형이나 코테때문에 알고리즘 공부를 했던 건 아니었고, 그냥 재미있어서 계속 한 경우였습니다.

백준에서 1300문제 가량 해결했고, 티어는 플레티넘2, 코드포스 레이팅은 민트입니다. 

 

솔직히 백준티어는 크게 의미가 없다고 생각하고...

코드포스의 경우에는 민트 턱걸이 정도면 충분하다고 생각합니다. 블루 정도 레이팅이라면 수월하게 통과할 것 같아요.

(어디까지나 개인적인 생각이므로 맹신하지 마시고 그냥 참고하시면 좋을 것 같습니다.)

 

그리고 B형 문제는 백준이랑 형식이 조금 다르다보니, DX 알고리즘 특강에서 B형 시험 형식을 연습했던 것이 도움이 됐습니다. 


검정 장소로 이동

검정은 용인의 삼성 인재개발원에서 이루어졌습니다.

 

가장 가까운 지하철역은 영통역입니다.

역에서 택시를 타면 금방 도착할 수 있습니다. 택시비는 6000원 살짝 넘게 나왔던 걸로 기억합니다.

그리고 날씨가 좋다면... 카카오바이크와 같은 공유자전거를 이용하면 2000원 정도로 도착할 수 있습니다. 

주변에 카카오바이크가 많기도하고, 길이 잘 되어있어서 자전거타기 좋았습니다. 

버스로도 갈 수 있긴 한데.. 버스가 잘 다니지는 않는 것 같습니다. 2회 응시하면서 한번도 버스를 이용해보지는 않았네요.

 

인재개발원에 도착하면, 사진에 보이는 건물에서 본인인증을 진행하고, 지니고있는 휴대폰 카메라에 보안스티커를 부착하게 됩니다. 인재개발원에서 나갈땐 보안스티커 부착여부를 확인합니다. 

보안 스티커를 떼면 스티커에 티가 나기때문에 내부에서 스티커가 떼어지지 않도록 주의하셔야합니다. 


검정

4시간동안 단 한문제만 해결하면 됩니다. 

사용언어는 C++/Java/Python 중 선택할 수 있습니다. 

파이썬은 때에따라 불가능한 경우도 있어서 C++/Java 중 선택해서 연습하는 것을 권장합니다. 

대부분 C++를 쓰긴 합니다. 저도 C++로 해결했습니다. 

 

코드 작성을 완료했다면 응시 1시간 이후 퇴실이 가능합니다.

중간중간 퇴실하시는 분들도 계시긴 했는데, 거의 대부분은 마지막까지 자리에 계시는 편이었습니다. 

채점기준에 코드의 실행시간이 포함되기때문에 다들 계속해서 최적화하시려는 것 같습니다. 

저도 마찬가지로 마지막까지 최적화에 대해서 고민했습니다. 

 

주어지는 테스트케이스 전부 통과하고, 본인이 작성한 코드에 대한 확신이 있으면 보통 통과하는 것 같습니다. 

저도 더 이상 반례가 없는 것 같아 종료 몇십분 전에 퇴실했습니다. 

 

TMI) 키보드에 키스킨이 덮여있는데... 옆자리 앉으신 분께서 키스킨 빼고 열심히 타이핑하시더라구요.. 소음이..ㅎㅎ


어떻게 공부해야할까?

위에 적긴 했지만.. 삼성 B형을 합격하려고! 공부한건 DX 특강에서 문제푼 게 전부입니다..

되게 뻔하고 진부한 이야기이긴 하지만 꾸준히 문제푸는게 중요한 것 같습니다. 

 

백준 문제집에 들어가시면 삼성 기출 문제 모음집이 있습니다. 거기 문제를 푸셔도 좋고, 아니면 구현 태그가 붙어있는 문제들만 주구장창 푸셔도 될 것 같아요. solved.ac의 검색을 통해 구현 문제 중 n명 이상이 푼 문제만 따로 뽑을 수 있으니 참고하시면 좋을 것 같습니다. 아니면 삼성 시험이니까 SWEA에서 푸는것도 괜찮을 것 같아요.

(여기서 제가 햇갈렸던건데.. 삼성 기출 문제 모음집은 코딩테스트 기출이지 B형 기출이 아닙니다! 백준뿐이 아니라 코드트리에 올라와있는 삼성기출도 마찬가지로 코테 기출입니다.)

 

그렇다고 구현만 푸시면 안됩니다! 대체로 백준의 구현문제들은 특별한 알고리즘을 사용하는 경우는 거의 없는 것 같더라구요. 문제들에 붙은 태그들도 구현, 시뮬레이션, 백트래킹 등 시간이 오래걸리는 태그들이라 구현만 풀기에는 부족할 수 있습니다. 

 

이분탐색이나, 누적합, 그래프탐색, 최단거리 등 기본 자료구조&알고리즘부터 세그먼트트리 같은 조금 어려운 내용도 공부하시는 것을 추천합니다. 

 

문제 상황이 엄청 복잡하지도 않고, 중요한건 이를 어떻게 최적화해서 제한시간안에 돌릴것이냐 입니다.

최적화를 위한 다양한 도구들을 적제적소에 사용하는 것이 중요합니다. 

 

그리고 시험볼때도 그렇고 문제풀때 팁인데, 

문제를 읽고 바로 코드를 작성하는 것보다는, 내가 지금 작성하려는 코드가 시간 안에 돌아갈 지를 먼저 생각해보시는 것이 좋습니다.

입력의 크기의 제한은 어느정도인지.

재귀 함수를 쓴다면 재귀를 너무 많이 호출하지는 않을 지.

반복문을 돌린다면 최대 얼마나 돌아가는지, 이중 반복문이 최대 몇번 연산을 하는지.

코드가 중복된 연산을 여러번하는지를 체크해보시는 것을 권장합니다. 

 

그냥 무지성으로 코드부터 짜고 보시면... 답이 나오더라도 TLE가 나오더라구요.. 저도 알고싶지않았습니다....

 

저의 경우에는 문제읽고 바로 입력 제한부터 확인합니다. 

n의 크기가 100,000이면 O(n^2) 코드는 통과할 수 없으므로 선형시간이나 nlogn시간 코드를 작성해야겠구나!

api가 최대 1,000번 호출되니까 이 api는 O(n^2)으로 짜도 괜찮겠구나! 하며 전체적인 시간복잡도를 계산해봅니다. 

그리고 해당 시간복잡도를 만들기 위해 어떤 도구를 사용할 것이고, 이를 바탕으로 코드를 작성하는 편입니다. 


마무리

여태 알고리즘 공부했던 게 누군가에게 인정받은 것 같기도 하고,

방학동안 열심히 공부했던 시간이 결실을 맺게 되어 기분이 정말 좋네요. 

 

이 글을 읽으시는 독자분들은 아마 대부분 곧 B형을 응시하는 분들이거나, B형에 관심을 갖는 분들이시라고 생각합니다. 

이번 포스팅이 조금이나마 도움이 되셨으면 좋겠고, 좋은 결과가 있으시면 좋겠습니다. 

 

감사합니다.