[삼성SDS] 2023년 상반기 알고리즘 특강 + pro시험 후기
학교 에타에서 이런게 있다는걸 알게 되어 지원하게 되었다.
먼저 지원서에는 간단한 지원동기와 자신의 인적사항을 적으면 되었는데 대충 적어서 냈다.
지원서 접수가 완료 된 후 6일 동안 5문제를 자유롭게 풀어내면 되는 입과 테스트가 있었는데
앨리스 코딩이란 사이트에서 할 수 있도록 링크를 메일로 보내준다.
지금 입과 테스트 문제가 기억 나지는 않고 작성했었던 코드는 저장 해 놓아서 코드 작성한 것을 보았는데
1번은 완전탐색
2번은 깊이 우선 탐색을 이용한 백트래킹
3번은 너비 우선 탐색
4번은 너비 우선 탐색 + 깊이 우선 탐색 + 백트래킹
5번은 dp
문제 였던거 같다
6일중에 첫째날에 1번을 둘째날에 2 3 4번 셋째날에 5번을 풀었고
다섯 문제를 모두 맞아 500점 만점으로 입과 테스트에 붙어서 온라인으로 2주간 특강을 받을 수 있는 기회가 생겼다.
입과테스트 난이도가 솔직히 한 실버 정도 나올 줄 알았는데 내가 생각 했던 것 보다 어려웠다.
골드 티어 쯤 되는 느낌이였다.
난 온라인 수업이였기 때문에 특강하기 며칠 전 책이 배송 되었다.
근데 이 책 한 두번정도만 열어 본거같다.
특강은 1주차 2주차 강사님이 달랐다.
1주차에는 알고리즘 기초, 시간 복잡도, 자료구조, 정수론, 조합론을 배웠고
2주차에는 그래프, 동적 계획법을 배웠다.
강의는 아침 9시부터 저녁 6시까지 녹스 미팅이라는 것을 사용하여 강의를 진행하고 12시~1시 점심시간을 갖는다.
그리고 하루에 문제를 엄청나게 많이 푼다 많을때는 18문제까지 있었던거 같은데 좀 힘든거 같다.
솔직히 어려운 문제는 하루종일 1개 풀까말까인 문제도 있을 수 있는데
문제가 실버 난이도 급 도아니고 골드급 난이도를 10개정도 푼다? 일단 굉장히 익숙치 않았었다.
그래도 다행인게 이미 내가 풀어봤었던 문제들이 꽤 되었기 때문에 따라갈만 했다.
solved 들어가서 스트릭 보니까 강의 할 때는 아예 처음 보는 문제를 하루에 4~6문제 정도 푼듯?
강의는 문제를 혼자 생각 할 시간을 약 30분정도 주고 (어려운 문제 인 경우 시간을 더 줌) 그 후에 어떻게 풀어야 할지 설명을 해주는데
생각 할 시간이 다 끝났는데 이 문제에 대해 나는 이게 알 것 같다는 느낌이 오고
조금만 더 혼자 생각하면 해결 할 수 있다라는 느낌이 오면 스포 당하기 싫었기 때문에 그 문제에 대한 설명을 할 때 일부러 듣지 않았고 혼자서 생각하고 코딩하여 제출 하였다.
근데 잘 모르겠거나 처음 배우는 알고리즘 같은 경우는 강의를 들었었다.
예를 들어 본인은 인덱스드 트리라던가 단절점같은건 아예 몰랐기때문에 이 부분을 설명 하실 때는 얌전히 설명을 들었다.
1주차 강사님이 주신 팁이 있는데 삼성 sds pro 시험은 시간복잡고 O(n)을 O(logn) 혹은 O(1)로 최적화를 하는 시험이라고 알려 주셨고 시험장에서 문제를 풀 때 1. 대충 2. 빨리 3. 잘 하라고 하신 것이 기억에 남는다.
1. 대충 2. 빨리 3. 잘 에 대해서 간단히 말하면
문제를 완벽히 읽고 이해한다음
1. 대충 일단 나이브하게 생각해서
2. 빨리 작성을하고
3. 나이브 하게 작성한 부분을 최적화 (O(n)을 O(logn) 혹은 O(1)로) 시키면 된다고 한 것같다.
그래서 실제로 시험장에서 시험을 볼 때 이걸 잊지않고 갔었다.
첫번째 pro 시험을 1월 20일날 보았는데 떨어졌다.
이날 좀 컨디션이 안좋았었던거 같다.
문제가 dp였었는데 대각선에 대한 최적화를 시험장에서 계속 생각이 안나서 최적화 못한채로 그냥 내고 6시에 퇴실하였다.
당연히 불합격 할줄 알았고 이 문제를 집에 오면서 20분정도 생각을 해보니 어떻게 해야 할지 갑자기 생각이 났었다.
내가 시험장에서 만든 dp 테이블 외에 또 다른 dp 테이블을 따로 하나 만들어 줬어야 했는데
이걸 왜 시험장에서 못 생각 했지 하면서 좀 기분이 안좋았었다.
두번째 pro 시험을 원래 1월 28일날 보려고 했으나 개인 사정으로 인해 시험날짜를 2월 10일로 미룰 수 있는지 메일을 보냈고 가능하다고 답변이 와서 2월 10일날 보게 되었다.
사실 강의 끝나고 나서는 백준 문제를 하나도 안풀었고 마지막 강의가 끝난지도 3주째 되는날이기 때문에 까먹은게 있을거 같아 시험 전날에 인덱스드 트리, 벨만포드 알고리즘, 에라토스테네스의 체
이런것들을 간단하게 20분정도 내가 작성한 코드 한번 보고 잤었다.
당일날에는 전날에 6시간 밖에 안잤음에도 컨디션이 꽤 좋다고 느껴졌다.
문제로는 최단경로 문제가 나왔는데 간선이 항상 양수였으니 아 이건 다익스트라 문제이다 라고 금방 알아 챘었다.
문제 푸는데 2시간 정도 걸린 것 같고 약간의 검토를 10분정도 한뒤에 4시 10~20분에 퇴실하였다.
결과는 위에 이미지대로 합격하였다.
이날 나왔던 문제가 사실 옛날에 어디서 풀었던 문제와 비슷한 느낌을 받았었다.
그 문제가 최단 경로 문제는 아니였던것 같고 그냥 접근 방식?이 비슷했던거 같은데 집에와서 찾아보려고 했는데
결국 못 찾았다 만약 나중에 찾게 된다면 이 글에 수정해보려한다.
현재 날짜가 2월 13일인데 마지막으로 시험보는사람들이 2월 18일이라
아마 이 이후에 수료증과 합격증이 배송오는것으로 알고있다.