[2023 하반기] 삼성전자 DS 합격 후기 (sw개발) - 코딩테스트 (2)

2024. 4. 11. 14:30카테고리 없음

https://fulladdr.tistory.com/96

 

[2023 하반기] 삼성전자 DS 합격 후기 (sw개발) - 기본사항 및 필기 (1)

2023 하반기 삼성전자 취업에 성공했습니다. 후기를 언젠가 써야지 하다가,, 입사 1달차에 쓰게 됩니다 ㅎㅎ 저도 취준생 시절 이런저런 블로그를 보면서 도움을 많이 받아서, 저 또한 도움이 되

fulladdr.tistory.com

에 이어서 ...

 

 

삼성전자 s직군의 경우 코딩테스트를 본다. 

 

1. 형식

대충 서류 발표 후 2주 정도 후에 바로 코딩테스트를 봤던 것 같다. 오전반과 오후반이 있는데, 오전반과 오후반의 문제는 다르다.

4시간이 주어지며, 1문제를 풀면 보통 통과라고 한다.

테스트케이스에 대해 pass/fail이 뜬다.

두문제 중에 한 문제는 빡구현이고, 나머지 한 문제는 B형 스타일이다. 

B형 스타일은,, 단계별 구현 느낌인데 실제로 시험장에 갔을 때 나는 b형 문제는 준비한적이 없어서 빡구현 문제를 풀었다.

2. 준비 방법

코딩테스트 준비 방법은, 코드 트리 문제를 꼭 풀어봐야한다. 백준말고 코드트리. 

 

코드트리에는 실제 삼성전자 기출이 나온다. 백준이랑은 문제가 꽤 다르기 때문에 반드시 코드트리 문제를 우선적으로 풀어야한다. 코드트리에서 최근 기출부터 풀어야한다. 문제 유형이 변경되기 때문이다.

 

코드트리를 다 푼 후에 백준을 푸는 방식으로 나가야한다.

 

코드트리 링크 :  https://www.codetree.ai/training-field/frequent-problems/company/samsung/problems

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

백준 링크 : https://www.acmicpc.net/workbook/view/1152

 

문제집: 삼성 SW 역량 테스트 기출 문제 (baekjoon)

 

www.acmicpc.net

 

코드트리는 실제 시험장 문제와 동일하다. 그러나 오래 걸린다. 왜냐면 빡구현이기 때문이다.

따라서 나는 시간이 없을 때는 백준 문제를 풀고, 대학원생인지라 1주일에 1~2 문제 정도 코드 트리 문제를 풀었다. 

 

 

 

 

 

친한 언니로부터 코딩테스트 엑셀 시트를 선물받았다.

여기에 나는 날짜 칸을 추가해서, 문제를 풀었을 때 옆에 날짜를 적었다. 이렇게 하면 게을러진 나를 채찍질하기가 쉬워진다. 

 

+ 시간이 없는 사람을 위한 꿀팁

 

나의 경우 대학원 막학기에 준비를 했기 때문에 시간이 절대적으로 부족했다. (졸업논문 준비 등등)

그래서 이럴 때 꿀팁은, 코드트리에는 해설이 있다.

해설란을 보면 해설을 볼 수 있다.

 

해설을 보고 답을 외우는 것이다. 답을 외우라는게 코드를 달달 외우라는게 아니라, 어떤식으로 해결했는지와 코드 스타일을 외우는 것이다.

 

가령, 4방향 탐색을 할 때 dx[4] = {-1, 1 , 0, 0}, dy[4] = {0, 0, -1, 1} 이런식으로 적고 x + dx[i] 로 포문을 돌린다던지. 이런 방법을 알면 계속 나오는데 매번 방법 적용이 가능하다.

 

방법은 사실 굉장히 간단하기 때문에, 결국 코드 스타일이 중요한데, 잘 작성된 정답 코드를 보면 좋은 코드 스타일을 따라할 수 있고 + 나온 기출이 비슷하게 나오는 경우가 많아서 방법을 쉽게 익힐 수 있다.

 

가령 45도 회전 했을 때 좌표가 어떻게 바뀌는지 같은 아이디어를 생각하려면 혼자 하려면 어려울 수도 있지만, 비슷한 코드를 한번이라도 짜봤다면 쉽게 짤 수 있다.

 

 

 

3. 실제 시험을 보며 느낀 점

나는 1문제를 무조건 완벽하게 맞추고, 나머지 1문제는 절반정도 맞추자를 전략으로 내세웠다.

 

1문제를 완전하게 맞추려면, 문제를 완벽하게 이해해야하기 때문에 실제로 테스트케이스를 내가 짜고자하는 알고리즘에 돌려서 맞는 결과가 산출된느지를 확인해야한다. 

 

이게 시간이 오래 걸릴 수 있는데, 이거 하나를 신경 안써서 코드를 처음부터 다시 짜야하는 경우가 있다.

 

따라서 내가 이렇게 풀면 되겠다! 라는 해결책을 세웠다면, 실제로 제시된 테스트케이스를 내 해결책에 대입했을 때 맞는 결과가 나오는지를 무조건 . 무조건 확인해야한다.

 

이걸하지 않으면 작은 부분에서 오류가 날 경우가 매우 높다. 

 

따라서 2~30분 정도는 문제를 완벽히 이해하고, 틀린 테스트케이스가 없는지 확인하는데 시간을 보냈고, 1시간 정도 구현을 했고, 1시간 정도를 디버깅을 하자는 목표를 세웠다. 

 

실제로 이렇게 풀면 2시간 정도에 디버깅까지 완벽하게 할 수 있다. 

 

기타

삼성전자 코테는,, 유형만 알면 대비하기 쉬운편이라고 한다. 

따라서 뭐 종만북 등등 책을 살 필요가 없다. 기출문제 풀이로 쉽게 해결가능하다

 

그리고 물을 시험 중간에 갖고 있지 못하니까 미리 목을 축이길 바란다.