본문 바로가기
힘 있는 글쓰기/What I Felt

[삼성SDS] 2021 하계 알고리즘 특강 (후기)

by 해적거북 2021. 8. 4.
728x90

 


 

● 지원서 접수

자소서가 없던 걸로 기억하고

대신 지원대상자의 조건에 부합하는 지 확인하기 위해 재학(졸업)증명서, 학과 인증서(?) 같은 거를 제출했습니다.

조금 번거로울 수 있겠지만 어렵지 않았습니다.

 

 

● 사전 테스트

5일동안 시간이 주어지고

5문제가 나왔는데 대략적인 난이도가 골드(1문제), 플레티넘(4문제) 였습니다.

교육이 끝나고 사전 테스트를 돌이켜 생각하니 사전 테스트를 다 풀 정도면

교육을 수강하러 오는 것이 아니라 '삼성SDS'의 Pro자격증을 취득할 생각이신 분이신 것 같습니다.

테스트 환경은 elice 코딩을 통해 진행되었습니다.

 

 

● 교육

기간 : 21.07.19 - 21.07.30

 

2주간 월-금 9시부터 18시까지 알고리즘 특강을 수강했습니다.

기존에는 '삼성SDS' 에 찾아가서 교육을 받지만, 코로나로 인해 비대면으로 진행되었습니다.

Zoom, Webex 말고 Knox meeting이라는 프로그램을 사용합니다.

 

점심시간은 1시간으로 거의 항상 정확하게 12시에 가졌습니다.

(일찍 점심시간을 가진 적은 있지만 12시를 절대 넘지는 않습니다.)

(또한 항상 13시부터 시작합니다.)

'삼성SDS' 의 기가막히다는 사내식당을 이용하지 못 했지만,,,, 그보다 소중한 강의를 수강할 수 있어서 좋았습니다!

 

 

해당 강의할 내용의 알고리즘 책이 있습니다. (택배로 수령)

페이지 수가 150쪽이 안되므로 얇은 책입니다.

 

 

전체적인 진행은 1주씩 사내 임직원분이 교육을 해주십니다.

그래서 매 주 강사님에 따라 코드의 언어가 달라질 수 있습니다.

(문제 풀 때는 자신의 언어(C++ 또는 JAVA)로 합니다)

 

하지만 알고리즘을 이해하고 풀이를 하는데 언어는 크게 문제되지 않았고,

C++ 이랑 JAVA 랑 비슷한 점도 많아서 코드를 보는데 불편함은 없었습니다.

(어쩌면 제가 두 언어를 알고 있기에 그런 것 일 수도 있습니다..)

 

무엇보다 강사님의 설명이 정말 이해가 될 수 밖에 없게 만듭니다.

또한 이해가 안되는 부분은 채팅을 통해 말씀드리면 반복해서 가르쳐주십니다.

 

 

문제 풀이와 진행은 백준 사이트를 이용하며, 강사님께서 저희가 문제 푼 진행도를 보며 강의 속도를 조율해 주십니다.

문제 난이도는 골드 ~ 플레티넘을 넘나들면서 하나씩 문제를 풉니다.

 

문제 설명 → 문제 풀기 → 문제 풀이 설명 -> 문제 풀이 코드 설명

이러한 순서를 계속해서 반복하여 진행됩니다.

(중간중간 쉬는 시간 10분도 있습니다.)

 

강사님뿐 만아니라 교육생들도 서로의 진행도를 확인할 수 있는 데,

초반에는 다들 열심히하고 그날 커리큘럼에 맞는 주어진 문제를 다 풀어내는 사람도 좀 있지만, 끝으로 갈 수록 푼 사람의 수가 적어집니다.

 

 

● 수료 테스트

수료조건에 출석률 80% + 수료 테스트 응시 이므로

'교육이 끝난 토요일' 과 '교육이 끝난 다음 주 토요일'

둘 중 하루 선택하여 시험을 봐야합니다.

 

저는 후자를 선택하였는데

사내 코로나 확진자 발생으로 2주간 미뤄졌습니다...

 

(시험 응시 후)

 

시험장은 선릉역 2번출구쪽 멀티캠퍼스에서 진행되었습니다.

카카오톡으로 받은 QR코드로 입장하여 지정된 시험장, 지정된 좌석에서 응시하였습니다.

 

시험중에 1명씩 화장실 이용가능합니다.

퇴실은 시험시작 후 2시간 뒤부터 가능했습니다.

 

시험문제가 브라우저에 띄워지고

해당 문제 밑 코드 작성란에 코드를 넣어 제출하게 됩니다.

 

저는 C++을 사용하였는데

Visual Studio 프로젝트 생성에서 빈 프로젝트가 아닌 삼성에서 만든 것으로 프로젝트를 생성합니다.

하지만 코드를 작성하는 법, 문법오류, 자동완성은 동일하게 적용됩니다.

 

자신이 원하는 스타일로 Visual Studio 테마를 변경하실 수 있습니다.

그런데 이상하게 저만 그랬는지 몰라도 제 Visual Studio의 Line Number가 나오지 않아서 어색했습니다.

설정으로 이것저것 바꾸려했다가 크게 불편하지 않아서 그대로 진행했습니다.

 

#include <bits/stdc++.h>

는 사용 불가능했고 (입력하면 오류밑줄생김)

 

ios::sync_with_stdio(0);

cin.tie(0);

cout.tie(0);

는 알려주시기 때문에 외울 필요 없었습니다.

 

Sample Case 3개의 input, output을 알려주고

파일로된 Sample Case를 알려줍니다.

 

파일로된 Sample Case의 input은 알 수 있지만

정답 ouput은 모르고 본인의 코드로 실행한 output만 알 수 있습니다.

 

그리고 제출기회 10번 주어지는데

제출을 하면 Hidden Test Case를 실행하여 정답 여부만 알려줍니다.

Hidden Test Case는 input, (정답, 본인코드) output 모두 알 수 없습니다.

 

 

● 시험 환경

언어별 사용 프로그래밍 툴

- C/C++ : Visual Studio, DEV C++

- JAVA : Eclipse

- ABAP : SAP GUI

(각 언어별 포준 라이브러리 사용 가능하며, 외부 라이브러리, 미리 작성한 라이브러리 사용 금지)

 

채점 환경

- C/C++ : gcc 4.8.5

    C : gcc -std=c11 -lm -02 -DSW_CERTIFICATE

    C++ : g++ -std=c++11 -lm -02 -DSW_CERTIFICATE

- JAVA : OpenJDK Runtime Environment (build 1.90_192-b01)

 

시험 문제

등급 검정 시간 문제 개수 채점 방법 채점 기준
Intermidiate 3 시간 1 문제 즉시 채점 채점용 Test Case 100% 정답
→ 합격
Advanced
Professional 4 시간 1 문제 사후 채점 채점용 Test Case 100% 정답
+ 코드리뷰
Expert

(채점용 Test Case는 응시자에게 공개되지 않음)

 

답안 제출 시 유의사항

1. 반드시 표준 입출력을 사용하고, 파일 입출력을 사용하지 않도록 함

  - C 언어 : scanf(), printf() 등 사용

  - C++ 언어 : cin, cout, 등 사용 (scanf(), printf()도 가능)

  - JAVA 언어 : System.in, System.out 등 사용

2. 작성한 자료의 손실을 방지하기 위해 시험시스템에 작성한 소스코드를 수시로 임시 저장함

  (임시 저장하지 않아 자료 손실 발생 시 응시자 책임)

3. JAVA의 경우 package 선언하여 제출 시 Runtime Error 가 발생하니 주의바랍니다.

 

● 마무리

저는 아직 알고리즘에 완전히 익숙하지 않은 상태라 따라가기 어려웠습니다.

하지만 로직을 생각하는 것에 대해 좀 더 넓은 생각 가지게 되었고,

무엇보다 강사님이 중간중간 들려주신 사내관련 이야기 교육생들의 깊은 고민들의 대한 대답이 정말 좋았습니다.

아무래도 인사팀이 아닌 개발자이자 삼성SDS의 임직원인 현직자의 대답이어서 좀 더 디테일한 부분들을 알아갈 수 있었습니다.

 

개인적으로 생각한 추천 대상은

'언어의 사용에 무리없고, 알고리즘의 여러 이론 중 기본적인 것은 구현 가능한 분' 부터

'삼성SDS Pro 자격증을 취득할 분' 정도 까지 라고 생각합니다.

 

그러나

깔끔하고 명확하게 가르쳐주시는 알고리즘 강의도 중요하지만

현직자분과 2주간 이런저런 고민 및 질의응답을 할 수 있던 것이

정말 좋은 기회라고 생각됩니다.

 


 

 

728x90

댓글