[신입 공채] 삼성전자 코딩테스트 — 5회 도전 후기 (Samsung Research · 혁신센터 · Device Platform)
📅 대학원 시절부터 입사 후까지 삼성전자 코딩테스트 5회 응시 후기. 결과는 다 떨어졌지만, 5회의 실패에서 매번 배운 게 달랐어서 정리. 공부법 조언 글이 아니라 본인이 어떤 함정에 빠졌는지 회고가 목적.
5회 응시 이력
| 회차 | 부서 | 일정 | 결과 |
|---|---|---|---|
| 1차 | DX — Samsung Research (대학원 시절) | 응시 2021-10-24 (일, 09:00–12:30, 3h) | 미합격 |
| 2차 | (생략) | — | — |
| 3차 | DX — Samsung Research | 응시 2022-10-16 (일, 08:30–13:00, 4h) | 미합격 |
| 4차 | DS — 혁신센터 | 응시 2023-10-15 (일, 14:30–19:00, 4h) | 미합격 |
| 5차 | DX — Device Platform Center | 응시 2024-04-14 (일, 4h) | 미합격 |
1·3·4·5차 중심. 2차는 사정상 생략.
공통 — 시험장·환경
시험장: - DX 사업부 — 삼성전자 인재개발원 - DS 사업부 — DS 동탄 교육센터
자리: - 개인 책상 넓고 충분히 간격 있음.
제공 장비: - 개인 노트북 + 키보드 (또는 데스크탑) - A4 2 장
지원 언어: C++ · Python · Java.
라이브러리 제약 ⚠️:
- Python: sys.stdin.readline() 사용 불가, itertools 도 제약.
- 다른 언어는 큰 제약 없음.
Python 으로 보려면 빠른 입출력 +
itertools의존 안 하게 미리 준비해야 함.
1차 후기 (2021-10-24) — DX Samsung Research
준비 기간: 11 일 (대학원 졸업 논문 마무리하면서)
백준 OJ 에서 삼성 기출 발견 → 목표 단순화: 한 문제 완벽히 풀자. 최근 기출 위주 패턴 파악, 모든 자료 다 보지는 못함.
시험장 — 다이스 굴리기
응시 문제: 백준 23288번 (주사위 굴리기).
10 개 샘플 테스트 케이스 출력값을 직접 검증했고 다 맞았음. 그런데 계속 오답 처리. 끝나기 몇 분 전 발견:
출력 포맷에 테스트 케이스 번호 prefix 필요.
요구된 출력 형태:
# 1 33
# 2 61
# 3 361
내가 출력한 형태:
# 33
# 61
# 361
백준은 플랫폼이 자동 번호 매겨주는데 삼성 시험장은 본인이 직접 번호를 출력해야 함. — 출력 포맷 누락만으로 떨어진 케이스.
교훈: 백준 vs 삼성 시험장 출력 포맷 차이. Case #N 형태 출력 미리 외워가기.
3차 후기 (2022-10-16) — DX Samsung Research
컨텍스트: 입사 후, 직무가 Java 웹 개발로 바뀐 시점.
언어를 Python → Java 로 전환해서 보기로 결정 — 회사 업무 언어로 익숙해지자는 취지.
준비 기간: 9월 중순 ~ 10월 (약 1개월).
결정적 실수 — 언어 전환
Java 는 Python 대비 코드량 1.5 배. 같은 알고리즘도 줄 수가 늘어남.
시험 직전까지 8–10 문제 정도 풀고 응시. 본인은 준비 부족이라 느꼈음.
시험 전략 — 한 번에 다 짜고 한 번에 돌리기
알고리즘 설계 → 구현 → 끝 → 한 번에 실행.
이 전략이 완전 역풍.
- 약 1시간 설계.
- 그 후 중간 검증 없이 풀구현.
- 디버깅 시작했더니 여기저기서 터짐.
- 검증 단위가 너무 크니까 어디가 문제인지 안 보임.
교훈: - 준비 기간 중 언어 전환 금지. 익숙한 언어로 임할 것. - 함수 단위 incremental 검증. 한 함수 짜고 → 작은 입력으로 출력 확인 → 다음. - 한 번에 다 짜고 한 번에 돌리는 건 준비된 사람만 가능.
4차 후기 (2023-10-15) — DS 혁신센터
컨텍스트: 다른 사업부 (DS) — 분위기 다름.
준비 — 시뮬레이션 컨디션
휴가 내고 20:00–24:00 매일 4시간 연습. 2 문제 / 4시간 시뮬 환경 반복.
응시 문제 — "루돌프의 반란"
복잡한 시뮬: - 루돌프와 산타들의 위치 - knockback 물리 (밀려나는 충돌) - 연쇄 변위 (캐릭터끼리 떠밀림)
구현 로직 자체는 맞게 짰는데 — 거리 계산에서 큰 실수.
L1 (맨해튼) 거리로 가장 가까운 산타 찾기 → 단순 비교 1 회면 끝.
그런데 BFS 로 구현 — 가장 가까운 caller 찾는다고 자료구조 잔뜩 끌어옴.
L1 거리 = |dx| + |dy| 한 줄이면 되는데 BFS 깔아서 연쇄 오류.
결과: 10 개 테스트 케이스 중 6–7 부터 답 어긋남. 90 분 디버깅 남았지만 정신 피로 로 root cause 못 잡음.
교훈: - 단순한 부분은 단순하게. 복잡 로직이 정확성을 보장하지 않음. - 핵심 단위 함수 (거리 계산 같은) 는 처음에 명확히 정의하고 안 건드리기. - 4 시간 후반부의 정신 피로 도 변수. 처음 1시간이 가장 정확함.
5차 후기 (2024-04-14) — DX Device Platform Center
SK C&C 이직 후 본 시험. 디테일은 일부 흐림.
준비 부족 + 회사 일 병행 — 결과는 미합격.
맺음말
5 회 응시 끝에 삼성전자 추격은 일단 마무리. 매번 떨어졌지만 HR 분들이 서류 통과는 일관되게 해주셔서 감사했음.
신입 공채는 여기까지. 앞으로 삼성 가게 된다면 경력직 채널 로 가게 될 듯.
정리 — 삼성 코테 도전자 입장에서
- 출력 포맷:
Case #N또는# N형태. 백준 기준으로만 풀면 함정. - 언어 선택: 준비 시작한 언어로 끝까지. 직전 전환 금지.
- 검증 단위: 한 함수 → 작은 입력 → 출력 확인. 한 번에 다 짜고 한 번에 돌리지 말 것.
- 단순한 건 단순하게: L1 거리 =
|dx|+|dy|. BFS 끌어오지 말 것. - 시간 배분: 4 시간 — 첫 1시간 가장 정확. 마지막 1시간은 디버깅 + 출력 검증.
- 라이브러리 제약: Python 의
sys.stdin.readline()·itertools못 쓰는 환경 적응.
같은 길 가시는 분 건승.
📦 이 글은 제가 운영하던 티스토리 블로그에서 옮겨온(migration) 글입니다. 원문: taehyuklee.tistory.com/16

댓글