그거 기능이에요

2025 삼성전자 DX 동계 알고리즘 특강 본문

삼성전자 DX 알고리즘 특강

2025 삼성전자 DX 동계 알고리즘 특강

duckgi 2025. 3. 20. 16:13

 

이번 겨울 방학에 삼성전자 DX 알고리즘 특강을 들었다. 이게 뭐냐면 삼성전자에서 컴퓨터공학 전공생들을 대상으로 4주간 알고리즘 교육을 시켜주고, 숙제와 강의를 열심히 들으면 수료증도 발급해준다.

 

가장 중요한 건 알고리즘 특강 수강생을 대상으로 삼성전자 사내 알고리즘 시험(B형)을 칠 기회를 2번 준다. 이걸 통과하면 뭐 큰 건 없고 우선 기분이 좋다. 예전에는 서류 우대에 코테 면제의 혜택이 있었다는데 내가 취업할 때까지 있을지는 잘 모르겠다. 많이 배우고 열심히 한 활동이라서 오랜만에 블로그에 글을 쓰고 싶었다.

 

이 프로그램이 있다는 걸 9월에 알았고, 12월부터는 모집 페이지를 북마크에 넣어두고 매일매일 확인했다. 다행히 늦지않게 발견해서 잘 신청할 수 있었고, 선발 문제풀이까지 또 기다렸다.

 

선발 문제가 나온 날 전날 술을 너무 많이 마셔서 숙취때문에 힘들었지만, 개포동가서 열심히 문제를 풀었다. 누가봐도 BFS처럼 생긴 문제였지만 그렇게 풀면 90초로 시간초과가 나왔고, 정말 최소한의 연산만 할 수 있도록 최적화해서 1초로 통과했다.

그리고 그 다음날 다른 문제도 열심히 구현해서 통과할 수 있었고, 남은 시간동안 자려고 누웠다가도 최적화 방법이 생각나면 일어나서 코드를 수정하면서 온몸비틀기 최적화를 완성했다.

 

 

그러고 기다리다가 합격 메일을 받았다. 더이상 최적화가 가능하지 않다고 생각해서 붙겠다 싶었는데 그래도 합격 메일을 보니까 기분이 좋았다. ㅎ

 

 

 

 

이후 4주동안 교육이 진행됐는데 생각보다 문제가 많이 어려워서 놀랐다. 문제를 풀면서 첫인상으로 생각했던 풀이대로 풀면 꼭 시간초과가 나고, 그 풀이를 버리고 최적화를 진행해야 맞는 풀이가 나오게 출제했다는 걸 느꼈다. 그래서 초반에는 삽질을 정말 많이 했다. 하루종일 알고리즘만 풀고 가는 날도 있었고, 결국 못 풀어서 집가서 밤늦게까지 풀고 자는 날도 있었다.

 

4주동안 100시간은 넘게 알고리즘을 푼 것 같았다. 풀면 재밌지만, 풀지 못했을 때의 스트레스가 더 커서 어떻게든 풀려고 노력했던 것 같다. 중간에 코드배틀 형식으로 한 문제를 4시간 동안 풀이를 진행했는데 5분 남기고 제출해서 200ms정도 나와서 잘 풀었다 싶었지만, 5등안에 들지는 못했다. 아마 10등안에는 들었지 않았을까 싶다.

 

알고리즘이 왜 중요한지, AI한테 너무 겁먹지 않아도 되는 이유가 뭔지 등등 강의에서도 여러가지로 배울 내용이 많았다. 트라이, 비트마스킹, 세그트리 등 여러 새로운 알고리즘도 배워서 문제를 통해 물고 씹고 뜯고 맛보고 밟고 찢고 부수고 다했다.

 

기본으로 내어주는 문제와 추가문제는 다 풀고 프로 시험 대비 문제는 조금 덜 풀고 B형 시험을 봤다. 첫 시험은 접근도 맞고 풀이도 맞았는데 자료형의 범위를 조금 잘못 생각해서 오버플로우가 발생했다. 나중에 생각하니 아주 쉽게 해결할 수 있는 방법이 있었는데 당시에는 '내가 또 바보같이 이상한 풀이로 접근했구나ㅠㅠ'하는 생각에 코드를 다시 짰다... 그래서 시간이 부족했고, 결국 25개의 테스트케이스 중 1개만 맞추고 나머지는 틀린 코드를 제출하고 시간이 다 되어서 나왔다.

 

두 번째 시험은 긴장도 덜 하고 아주 잘 아는 알고리즘이 나와서 기쁜마음으로 문제를 풀었다. 30분정도 구현을 고민하고, 30분 구현하고 40분 디버깅하니까 100점 1.3초로 통과되는 코드가 나왔고 1시간을 더 최적화하니까 0.8초까지 줄일 수 있었다. 사실 초기화에서 register 키워드를 넣으면 0.6초까지도 가능했지만, 이걸 써도 되나?하는 생각이 들었다. 혹시 뭘 더 include 해야하는 건 아닌가? 테스트환경에서 안 돌아가면 어쩌지? 싶었고, 굳이 저 코드까지 넣어야만 통과되는 코드면 애초에 틀린코드겠지 하는 마음에 과감하게 0.2초를 포기하고 제출했다.

 

나와서 생각해보니 나머지 25개의 히든테스트케이스가 모두 최악의 케이스라고 하더라도 2.4초 정도로 통과가 가능할 것 같았고 제발 숨겨진 오류만 없길 바라면서 발표를 기다렸다.

 
 

결과는 합격. 불합격 후기를 쓰게될까봐 걱정 많았는데 합격 후기라 다행이다. 이 교육은 알고리즘 완전 초보자를 위한 특강은 아니고, 기초적인 알고리즘은 조금 알고 있는 사람이 들으면 좋을 것 같다. 백준 플레 이하라면 특강 과정에 쏟을 충분한 시간적 여유가 있어야 할 것 같고, 시간을 쏟은 만큼 많이 얻어가는 교육이라고 생각한다.

 

아마 나도 다시 방학에 열심히 살고 싶어지면 한번 더 수강할 것 같다