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 #N or # N style. 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() and itertools.

Good luck.


📦 Migrated from my own Korean blog (my own writing). Original: taehyuklee.tistory.com/16

Share𝕏f

Comments