CS(Computer Science)/알고리즘

삼성SDS 2023 동계(상반기) 대학생 알고리즘 특강 후기

seongmik 2023. 1. 25. 14:15
반응형

삼성SDS에서는 매 방학 시즌에 대학생들을 대상으로 알고리즘 특강을 무료로 진행한다.

요즘에는 컴퓨터공학 전공뿐 아니라 전자, 기계분야도 코딩테스트가 거의 필수가 된 시대이다.

코딩테스트 하나만으로 그 사람의 사고에 대해 많은 것이 설명 가능하고, 또한 채용에 많은 돈을 들이는 기업의 입장에서 본다면 일종의 미달 기준선이 되기에 매우 좋은 시험이기 때문에 필수가 됐다고 생각한다.

이 알고리즘 특강은 알고리즘을 제대로 배워본 적이 없는 대학생이나 기존에 알고리즘을 공부했지만 플레티넘 수준의 문제는 접근하지 못해 봐서 더 깊게 알고리즘을 배우고 싶은 취준생 입장에서 매우 좋은 기회라고 생각한다.

나는 삼성SDS처럼 업계에서 좋은 입지를 가지고 있는 회사에서 이런 좋은 기회를 주는데 마다할 이유가 없다고 생각해서 지원하게 됐다.


모집 전형

모집 전형의 처음에는 구글폼으로 여러 정보와 서류(이미지 첨부)를 받는다.

구글폼으로 신청을 마친 뒤 조금 기다리면 코딩테스트가 시작된다.

코딩테스트는 코드엘리스 플랫폼을 이용해서 진행됐으며 한 주 동안 정해진 문제를 최대한 쭉 풀어서 제출하는 방법이다.

문제의 상세한 내용은 보안 때문에 말할 수 없지만 아무래도 난이도에 대해서만 평가해 보자면

solved기준으로 골드4~골드1 수준의 문제들이 4문제이고 한 문제만 플레티넘 난이도라고 느껴졌다.

어렵게 느껴질 수 있지만 아무래도 한 주 동안 계속 쭉 풀 수 있다 보니 어느 정도의 기본기만 있는 사람이라면 정말 붙고 싶다면 한 주 내내 붙잡고 풀어서 어떻게든 합격 컷은 넘길 수 있을 것 같다!

사실 이 테스트의 가장 어려운 점은 기말고사 기간 한가운데에 코테 1주일이 겹쳐있다는 것이다.. 에.. ㅠㅠ

나는 5문제 중 부분점수까지 합쳐서 대충 4문제 이상을 맞췄다. 그런데 체감 커트라인은 2문제? 인 듯하다. 근데 코테 점수만 보는 건 아니고 그 외의 서류나 작성한 글들도 보는 듯하다.(뇌피셜)

원래 4학년 재학생 또는 졸업 예정자를 대상으로 모집하는데 본인은 이제 막 4학년이 되는 상태였는데 코딩테스트 점수 덕분인지 아니면 주저리주저리 쓴 글 덕분인지 삼성SDS측에서 감사하게도 붙여주셔서 수업을 수강하게 됐다.

원래는 코로나 때문에 최근 몇 년간 온라인 강의로만 진행됐는데 이번부터는 온라인과 오프라인을 병행으로 진행해서 나는 오프라인으로 삼성SDS에 가서 수강하게 됐다. (진짜 잠실 너무너무너무너무 좋았다 최고최고)

합격자에게는 이런 식으로 메일이 온다!


2주의 수업 과정

-- 저는 오프라인으로 수강했으므로 모든 글은 오프라인 기준으로 작성됐습니다. --

합격을 하게 되고 주말을 제외한 10일간, 즉 2주 동안 잠실에 있는 삼성SDS 본사로 9-6시 고등학교 생활을 하게 된다.

나도 잘 알지는 못하지만 컴퓨터 특성화 고등학교를 갔다면 이런 느낌이 아니었을까? 싶은 생활이었다. ㅋㅋㅋㅋ

수업 내용에 대해서는 보안상 자세히 이야기하지 못하지만 그냥 기본기를 다지기에 탄탄한 과정이라고만 이야기할 수 있을 것 같다.

아침에 와서 텀블러에 커피 타마시며 열심히 백준 풀다가 점심과 커피를 먹고 다시 저녁까지 열심히 백준을 푸는 하루의 반복이었다.

그런데 첫 주에는 수업 진행 속도가 진짜 너무 빨라서 개인적으로 백준을 많이 풀었다고 생각했는데도 따라가기 벅찬 속도였다.

하지만 모든 수업 내용을 다 따라갈 필요는 없는 편안한 분위기이기 때문에 자신의 속도에 맞춰서 필요한 수업 내용을 적절히 자신의 속도대로 들으며 실력을 쌓으면 된다. (이거 매우 장점!)

나는 2주 동안 처음 푸는 문제만 거의 50문제는 푼 것 같다. 위에 스트릭을 보면 알겠지만 혼자라면 절대 풀지 않았을 양을 풀었다.

주로 2주의 수업과정 끝에 있는 SDS Professional SW검정 시험 합격을 목표로 두고 강사님들이 가르치신다.

실제로 이 SDS 프로 자격증을 취득하게 되면 후에 삼성SDS에 지원할 때 코테, 기술 면접 등의 여러 전형을 건너뛰고 바로 임원 면접만 본 뒤 합불이 결정되는 특별 전형에 지원할 수 있는 자격이 생기게 된다.

따라서 삼성SDS에 취업할 생각이 있다면 취득하면 무조건무조건 좋은 시험이라고 할 수 있다.

이제 생활에 대해 이야기를 해보자면 첫날에는 일단 교재와 함께 수업을 수강하는데 필요한 공책, 볼펜 등등 여러 물품을 주신다.

그리고 그 후에는 중간에 진행된 채용담당자님들과의 점심식사와 투어 한 번을 제외하면 쭉 변함없는 일정이었다.

삼성SDS에서는 알고리즘 특강을 수강하는 학생들에게 사내 델라코트에서 먹을 수 있는 밥과 커피 쿠폰을 지원해 준다.

매일 한 장씩 지원해 주는데 이게 정말 음.. 너무 좋은 복지이다.

델라코트의 밥은 일정 간격으로 메뉴들이 전부 바뀌는데 진짜 너무 맛있었다.

2주 내내 다른 음식을 먹었지만 먹지 못한 음식이 절반이 넘는다.

삼성SDS 밥 너무너무너무 맛있다..! 안 그래도 쉽지 않은 잠실 물가 덕분에 이런 복지가 더 빛이 난다.

또한 사내에 폴바셋이 있는데 쿠폰을 사용해서 여기서 원하는 메뉴를 하나 시켜서 마실 수 있어서 너무 좋다.

개인적 추천 메뉴는 블루베리 스무디, 분다버그 핑크자몽(에.. 이건 기성품이긴 한디)이다.

근데 너무 잘 만들어주셔서 뭘 시켜도 맛있긴 하다.


SDS Professional SW 검정 시험

원래는 10일간 교육을 하고 그 주 토요일에 시험을 봤다고 해서 이번에도 그렇게 시험을 볼 줄 알았는데 이번에는 목요일까지 9일간 교육을 하고 금요일부터 시험을 신청해서 시험을 생각보다 하루 일찍 보게 됐다.

알고리즘 특강을 수강한 모든 사람이 이 시험에 응시하게 된다.

시험은 4시간 동안 1문제를 풀이하는 방식인데 응시 2시간부터 중도 퇴장이 가능하다.

시험 난이도에 대해서는 소문이 무성하다. 옛날에는 실버 수준이 나온 적이 있다는 말도 있고 평균적으로 플레티넘 난이도의 문제가 나온다는 말도 있다.

평균적으로 골드 상위 ~ 플레티넘 하위 난이도의 문제가 출제되는 듯하다.

아무래도 한 문제만 출제되다 보니 자기가 잘 푸는 장르의 알고리즘 문제가 나온다거나 쉬운 문제가 나오면 쉽게 풀고 자기한테 생소한 알고리즘이나 어려운 문제가 나온다면 합격하기 어려운 시험이다. 따라서 운도 꽤나 필요하다고 생각된다.

시험은 시험 중에 제공되는 테스트 케이스가 있고, 또 백준처럼 히든 케이스가 있어서 AC를 받았다고 해서 꼭 정답은 아닐 수 있다.

그리고 제출한 코드에 대해 코드리뷰도 거친 뒤에 합/불을 결정한다고 한다.

나는 운 좋게 이 날따라 머리가 잘 돌아가서 스무스하게 풀고 나온 것 같다.

당일 저녁에 바로 합/불 결과를 문자로 발송해 준다.

솔직히 시험이 너무 어려울 것 같아서 크게 붙겠다는 마음을 가지지 않고 봤지만 막상 시험을 보게 되니 재미있어서 열심히 풀었던 것 같다.

개인적으로 같은 시험에 응시하실 분들을 위해 시험에 대해 팁을 주자면 절대 먼저 코드부터 치지 말라고 하고 싶다.

나는 시험 시작 후 30분 동안은 키보드에 손도 가져다대지 않았다.

그 시간 동안 문제를 읽으면서 여러 가지 접근 방법을 적어보고, 각 접근 방법에 따른 시간복잡도를 계산해본 뒤, 확실히 이렇게 푸는 게 해법이 맞는 것 같다는 확신이 든 뒤 간단한 식과 어떻게 짤 지에 대한 계획을 짜고 최종적으로 시간복잡도, 공간복잡도에 대한 간단한 검산까지 마친 뒤에 코드 작성에 들어갔다.

이렇게 하고 코딩을 하니 정작 코드를 작성하는 데 걸린 시간은 20분이 조금 넘었던 것 같다.

결론적으로 중요한 것은 코드부터 치면서 생각하는 것이 아니라. 문제를 이해하고 요구를 분석하는 것이라는 이야기이다.

알고리즘 문제풀이는 문제를 이해하고 문제의 제약을 어떻게 해결할 것 인지를 생각해 내고 계산하는 과정만 제대로 끝낸다면 그 이후의 문제는 그저 누구나 할 수 있는 단순 구현의 문제이다.

따라서 시험 시작하자마자 무조건 stl 다 불러오고 main(){return 0;}까지 쳐놓는 습관은 프로시험을 응시할 때는 잠시 접어두도록 하자.

물론 모든 알고리즘의 시작이 브루트포스인 것은 맞지만 조금의 시간복잡도 계산으로 안 되는 것을 쉽게 알 수 있는데 귀한 시험 시간을 날려가면서 시간 복잡도상으로 말이 안되는 코드를 끝까지 작성할 필요는 없지 않은가?

그렇기 때문에 시험을 응시할 분들에게는 설령 코드를 몇 줄 못 짜더라도 문제를 이해하고 풀이를 설계하는 데에 코드를 짜는 시간보다 많은 시간을 들이는 것을 강력하게 추천한다.

물론 나도 백준 풀 때는 무지성으로 풀지만 이건 시험이니깐..!


특강 외적인 후기

방학 시작부터 2주를 매일 아침 일찍 일어나며 학교 다니듯이 공부를 할 수 있었던 게 너무 좋았다.

그리고 위치가 잠실이기 때문에 근처에 볼거리 먹을거리도 정말 많아서 수업만 듣고 집에 가는 것이 아니라 근처도 많이 돌아다녔는데 정말 재미있었던 것 같다.

그리고 바로 옆에 석촌 호수와 롯데타워가 있기 때문에 놀러 가보는 것을 정말 강력히!!! 추천한다.

강제로 2주 동안 잠실 거주민처럼 지내게 되는데 이럴 때 동네 주민 바이브로 놀러 가는 것도 꽤나 재미있다.

정말 좋은 추억이 됐고 또 이런 기회가 있다면 신청해서 수강하고 싶다.

반응형