Samsung Electronics Coding Test — 5 Attempts Recap (Samsung Research · Innovation Center · Device Platform)
📅 Five attempts at the Samsung Electronics coding test, from grad school through full-time employment. None of them landed an offer, but each failure taught a different lesson. Not a study guide — a trap-by-trap retrospective.
Companion post — Samsung-style simulation implementation modules in Java:
5-attempt history
| Try | Division | Date | Result |
|---|---|---|---|
| 1st | DX — Samsung Research (grad school) | 2021-10-24 (Sun, 09:00–12:30, 3h) | Failed |
| 2nd | (omitted) | — | — |
| 3rd | DX — Samsung Research | 2022-10-16 (Sun, 08:30–13:00, 4h) | Failed |
| 4th | DS — Innovation Center | 2023-10-15 (Sun, 14:30–19:00, 4h) | Failed |
| 5th | DX — Device Platform Center | 2024-04-14 (Sun, 4h) | Failed |
1st, 3rd, 4th, 5th are the substantive ones. 2nd attempt omitted.
Common — venues + environment
Venues: - DX division — Samsung Electronics HR Development Center - DS division — DS Dongtan Education Center
Seating: - Spacious individual desks with ample separation.
Equipment provided: - Personal laptop + keyboard (or desktop) - 2 sheets of A4 paper
Supported languages: C++ · Python · Java.
Library restrictions ⚠️:
- Python: sys.stdin.readline() not allowed, itertools also restricted.
- Other languages: minimal restrictions.
If you're going with Python, prepare fast I/O alternatives and stop depending on
itertools.
1st attempt (2021-10-24) — DX Samsung Research
Prep time: 11 days (while finishing my master's thesis).
Found Samsung past problems on Baekjoon OJ. Set a minimal goal: solve one problem completely. Focused on recent-problem patterns rather than full coverage.
In the room — dice rolling
The problem was Baekjoon 23288 (dice rolling).
I verified 10 sample outputs by hand — all correct. Submission kept getting rejected. Minutes before the end I found it:
Output needed a test-case-number prefix.
Required format:
# 1 33
# 2 61
# 3 361
What I submitted:
# 33
# 61
# 361
Baekjoon's platform auto-numbers, but the Samsung exam expects you to print the case number yourself. — Failed purely on output format.
Lesson: Baekjoon vs. Samsung exam output formats differ. Memorize the Case #N pattern.
3rd attempt (2022-10-16) — DX Samsung Research
Context: post-employment, my day job had shifted to Java web development.
I decided to switch from Python → Java for the test — using the work language seemed like good alignment.
Prep time: mid-September to October (~1 month).
Decisive mistake — language switch
Java requires roughly 1.5× the code of Python. Same algorithm, longer source.
By the test I had finished maybe 8–10 problems total. Felt under-prepared.
Strategy — design once, implement once, run once
Algorithm design → implementation → run.
Backfired completely.
- ~1h design.
- Implemented everything without intermediate testing.
- When debugging started, things broke everywhere.
- Validation unit was too large, root cause was invisible.
Lessons: - No language switches during prep. Stick with what you've practiced in. - Test incrementally per function. Write one function → small input → verify output → move on. - "Code it all, run it once" only works if you're already prepared.
4th attempt (2023-10-15) — DS Innovation Center
Context: different division (DS), different vibe.
Prep — simulation conditioning
Took vacation, studied 20:00–24:00 nightly for 4 hours. Practiced 2 problems / 4-hour windows repeatedly to match exam conditions.
Problem — "Rudolph's Rebellion"
Complex simulation: - Rudolph + Santas positions - Knockback physics (push collisions) - Cascading displacement (chain pushes)
Implementation logic was right — but a major mistake in distance calculation.
L1 (Manhattan) distance for nearest Santa = single comparison.
Instead I implemented BFS with full data structures to find the nearest caller.
L1 = |dx| + |dy| one-liner. I built a BFS instead → cascading errors.
Result: 10 test cases, answers diverged from case 6–7. 90 minutes of debugging left, but mental fatigue kept me from finding the root cause.
Lessons: - Keep simple things simple. Complex logic doesn't guarantee correctness on basics. - Pin down core unit functions (like distance) early and don't touch them. - Late-test fatigue is a real variable. First hour is your sharpest.
5th attempt (2024-04-14) — DX Device Platform Center
After moving to SK C&C. Some details hazy.
Prep was thin while doing the day job — failed.
Closing
After 5 attempts I'm wrapping up the Samsung new-grad pursuit. Thanks to HR for consistently passing my application despite the repeated misses.
If I ever go to Samsung now, it'll be through experienced hire channels.
Companion post — Samsung-style simulation implementation modules in Java:
Takeaways — for Samsung-coding-test attempters
- Output format:
Case #Nor# Nstyle. Baekjoon-only prep is a trap. - Language choice: stick with what you started prep in. No last-minute switches.
- Validation unit: per-function with small inputs. Don't "implement all, run all."
- Keep simple simple: L1 =
|dx|+|dy|. Don't drag in BFS. - Time budget: in a 4-hour test, hour 1 is your sharpest. Last hour for debugging + output verification.
- Library limits: live without Python's
sys.stdin.readline()anditertools.
Good luck.
📦 Migrated from my own Korean blog (my own writing). Original: taehyuklee.tistory.com/16

Comments