본문 바로가기

IT/직장 & 취업준비

삼성전자 네트워크사업부 코딩 테스트(삼성SW역량테스트) 꼼수 부리다 망한 후기



지난번 예고해 드린대로 삼성전자 네트워크사업부 코딩 시험(코딩테스트 요즘은 삼성sw역량테스트) 후기를 써봅니다.


참고로 저는 총 2번의 시험에 응시했는데 그 첫번째 내용에 대해 주로 다루겠습니다.(2번재 시험은 다음기회에...)


첫 SW역량테스트에는 SSAT이후 면접날 치뤘습니다. 당시에도 3시간의 시간이 주어졌고, 난이도는 2번째 시험에 비해 무척 쉬웠습니다.


서류합격(당시엔 거의 모든 사람이 합격), SSAT합격 이후 면접까지 시간이 얼마없었기 때문에 간단히만 준비했습니다.

1) 자료구조(Stack, Queue)

2) DFS , BFS

3) 경로 관련 알고리즘 (다익스트라? 등)

4) 동적 계획법? 동적 프로그래밍(DP)


※ 모두 깊게 연습하진 못했고, 이런게 있다 정도로 라이트하게 준비했습니다.



다행히 전년도에 학교에서 배운 "알고리즘"에 대한 촉이 살아있어서 무난히 풀었 던 것 같습니다.


2문제가 주어지는데 1번먼저 설명드립니다.(유출)


1.파스칼의 삼각형을 변환한 것 같은 문제

이항계수를 구하는 것? 과 유사한 문제가 나왔습니다. 정확히 일치하지는 않았지만 매우 유사했고 천천히 삼각형을 그리면서 답을 풀면되는 아주 쉬운 문제였습니다. - DP(Dynamic Programming)의 기초? 라고 볼 수 있습니다.

전날 DP를 이용한 행렬의 곱과 관련된 수업자료를 정독하고 가서인지 아주 수월하게 1번문제를 풀었습니다.


2.어떤 알고리즘을 써야하는지 감도 안잡히는 어려운 문제

2번 문제는 너무 난해해서 어떤 알고리즘을 써야 할지 전혀 감이 오지 않았습니다.

이럴때의 팁 - 알고리즘 생각하지 마시고 if와 for를 이용해서 일단 문제를 풀어보세요 그 후 속도(?)개선을 고민해 보시길

문제는 언제나 처럼 input이 있고 output을 맞추는 것인데, 그중간에 제약사항을 하나하나 추가해 나가는 꼼꼼함이 필요합니다.

(다시한번 강조드리지만 알고리즘은 생각도 안했습니다.)

열심히 if문을 돌려 제약사항을 맞춰나갈 쯤 시간이 다되었습니다. - 망해쓰요

이때 든 생각 input이 숫자이고, output도 숫자이다.(자리수가 많지는 않았던 것 같습니다.)

그래서 저는 입력 매개변수를 갖는 메소드를 하나만들었습니다.

어떤 숫자가 들어오든, 랜덤함수를 돌려서 곱하기도하고 더하기도 하고 나누기도하고 나머지를 구하기도 하는 메소드입니다.

어떤 input이든 어이없는(로직없는) output이 나오고 이게 맞으면 좋고 안좋으면 마는 것이지요.


결론 적으로 제출했는데 30%정도 정답률이 나와버렸습니다. 시간이 다되서 그냥 나왔는데 씁쓸하더군요

※ 주의 : 이러한 방식으로 하면 우연히 정답률이 높아도 탈락시키지 않을까요?


어쨌든 그때는 아무것도 안하는 것 보단 좋다고 생각했었나 봅니다.


아............망해쓰요


이 사건이 있고나서 약 3~4년 후 다시 s/w역량테스트를 응시했을 때(18년도 상반기)는 난이도가 엄청나게 올라와 있었습니다.

당연히 학교를 졸업한지 3년이 지나서 감도 떨어져 있었고 완전 망하고 왔는데, 시간이 되면 후기를 쓰도록 하겠습니다.


새로운 후기

https://debtandshadow.tistory.com/107

반응형