
LLM도 못 푸는 삼성 SW 역량테스트 A형, 어떻게 준비할까?
삼성 개발자 채용에 필수인 SW 역량테스트 A형, 왜 최신 LLM(GPT, Claude, Gemini)도 못 푸는 걸까요? 기출 유형, 난이도, 후기, 코드트리로의 준비 전략까지 완벽 정리했습니다.
삼성 SW 역량테스트 A형은 복잡하고 정교한 구현 문제로 개발자 사이에서 악명이 높습니다. 최근에는 GPT, Claude, Gemini 같은 최신 LLM(대형 언어 모델)조차도 이 시험의 문제를 제대로 풀지 못할 만큼, 실제 입사 전형과 동일한 수준의 코딩 테스트로 평가받고 있습니다. 오히려 AI의 한계가 드러나는 이 환경에서, 꼼꼼한 구현력과 논리적 설계 역량을 갖춘 인간 개발자의 가치가 다시금 주목받고 있습니다.
이런 흐름 속에서 삼성이 최근 사내 Pro 시험에 LLM 활용을 공식적으로 허용했다는 건 어떤 의미일까요? AI가 모든 것을 대신할 수 있다는 뜻이 아니라 LLM을 적극적으로 활용하되 인간의 설계력과 구현력이 뒷받침되어야 실질적인 성과를 낼 수 있다는 점을 시사합니다.
이 글에서는 삼성 SW 역량테스트 A형의 난이도와 출제 경향, 실제 후기, 그리고 LLM이 풀지 못하는 이유까지 살펴볼게요.
삼성 SW 역량테스트 A형
삼성 SW 역량테스트란?
삼성 SW 역량테스트는 삼성전자 등 삼성 계열사에서 신입∙경력 개발자 채용 과정뿐 아니라, 사내 인재 평가(Pro 시험)에도 활용하는 대표적인 소프트웨어 역량 평가 시험입니다. 개발 직군 공채에 필수로 포함되며, 지원자의 문제 해결력, 구현력, 알고리즘 설계 능력 등을 종합적으로 평가합니다.
삼성 SW 역량테스트 A형∙B형 차이
삼성 SW 역량테스트는 A형(Advanced)과 B형(Professional)으로 나뉘며, 각 유형별 특징은 다음과 같습니다.
구분 | A형 | B형 |
대상 | 컴공 관련 전공자 및 SW직무 희망자 | 비전공자 또는 기초 역량 확인 |
문제 수 | 보통 1~2문제 (3시간, 최근 4시간 2문제도 있음) | 1문제 (4시간, 일부 특강/모의시험은 3문제 내외) |
특징 | 시뮬레이션, 구현, 상태 추적 중심의 고난도 문제 | 알고리즘 기초, 자료구조, 효율성 중심 문제 |
난이도 | 중~상 (구현량 많고 조건 복잡) | 하~중 (기초 알고리즘, 자료구조 위주) |
보통 A형 난이도를 중~상이라고 표현하지만 실제로는 상(최상)급 문제도 자주 출제됩니다.
삼성 SW 역량테스트 관련 글 더 보기
실제 수험자 후기로 본 삼성 SW 역량테스트 A형
‘극악의 구현 문제’라는 불리는 삼성 SW 역량테스트 A형, 실제 응시자들의 후기를 보면 문제의 복잡도와 구현 난이도가 얼마나 높은지 체감할 수 있습니다.
1. 문제 조건과 구현 난이도
조건이 많고 구현 분량이 큼
“문제 조건은 좀 복잡하지만 생각할 부분은 많이 없었습니다. 시간은 좀 걸렸지만 시키는 대로 구현하면 무난하게 풀 수 있는 정도였습니다. 푸는 데는 한 3시간 좀 넘게 걸렸어요.”
복잡한 시뮬레이션
“난이도는 코드트리 기준 Lv 13~14 정도. 다양한 우선순위 조건들을 기반으로 순서를 결정하는 복잡도가 상당함. 점점 더 복잡하고 길어지는 문제를 '제대로' 읽고 '그대로' 구현해내면 됨.”
2. 문제 해석과 설계의 중요성
문제 이해에만 상당한 시간 소요
“체감상 A4용지 4~5페이지 분량이었고, 문제 이해에만 30분을 소비하고 들어갔습니다. 정말 얼마나 꼼꼼히 읽고 체크하는지가 중요했습니다. 특히, 상황에 따른 분기가 너무 많고, 경계값, 우선순위(같을 시 행-렬 순 등)에 대한 에러가 많이 터졌습니다.”
함수 분리, 네이밍, 모듈화의 중요성
“가장 중요한 것이 시간이 조금 들더라도, 본인이 알아볼 수 있을 정도의 함수명 작성(특히 의미가 비슷한 함수명 사용 X, 직관적이고 간단한 함수명), 함수 모듈화 관리 등이 장기적으로 보았을 때 매우 중요했습니다. 2시간 정도 코드를 짜고 처음 테스트 케이스 1, 2개를 통과하고, 에러 나는 케이스에 대해 불가피하게 디버깅만 1시간 이상 소모하게 되는데, 이때 함수를 분리하지 않거나 함수명을 x, y 식으로 짜놓으면 머리가 터집니다...
저는 시간 부족으로 몇 가지 에러케이스에 대해 인지는 하였지만 수정하지 못하고 제출하였습니다.”
TIP: 함수 분리와 직관적인 네이밍, 코드 모듈화가 디버깅과 유지보수에 큰 도움이 됩니다. 복잡한 문제일수록 코드를 체계적으로 관리하는 습관과 시간 관리가 매우 중요합니다.
3. 문제 유형과 효과적인 준비 방법
전형적인 시뮬레이션 문제
“유형은 전형적인 시뮬레이션 문제. 준비 과정에서 효과적인 학습방법은 코드트리 기출문제를 풀면서 설계 단계에 최대한 많은 예외 케이스를 떠올리면서 완전한 조건을 구상 후 코드에 들어가는 연습을 많이 하는 것입니다.”
ChatGPT로 삼성 SW A형 풀 수 있을까?
코드트리의 삼성 기출문제 중 2022년 상반기 기출 ‘술래잡기’ 문제를 GPT에 그대로 입력해본 결과, 예제조차 통과하지 못하는 수준의 코드가 출력되었습니다.

술래가 k번의 턴 동안 얻게 되는 총 점수를 출력하는 문제
문제 흐름을 어느 정도 따라가긴 하지만, 조건 분기와 예외 처리에서 계속 오류가 발생합니다. 이 문제는 단순 구현이 아니라 복합적인 시뮬레이션 구조를 요구합니다. 해당 문제를 GPT에 넣으면 아래와 같이 겉보기에는 그럴듯한 코드를 출력하지만, 실행하면 예제를 통과하지 못하는 오답임을 확인할 수 있습니다. LLM은 문제의 조건을 ‘이해’하지 못하고, 패턴 기반으로만 접근하기 때문에 오차가 발생하는 거예요.
import sys
from collections import deque
input = sys.stdin.readline
# 방향 0:오른,1:아래,2:왼,3:위
dx = [0,1,0,-1]
dy = [1,0,-1,0]
def in_bounds(x,y,n):
return 0 <= x < n and 0 <= y < n
def build_chaser_path(n):
"""중앙에서 시작해 달팽이 외곽(0,0)까지 시계방향으로 돌고,
다시 중앙으로 돌아오는 경로(path)와 각 위치에서의 방향(dir)를 리스트로 리턴."""
c = n//2
x,y = c,c
path = [(x,y,3)] # 시작은 중앙, 바라보는 방향은 '위'(3)
# 달팽이 외곽까지
steps = 1
dir_idx = 3 # 시작 위
while not (x==0 and y==0):
for _ in range(2): # 두 번 같은 길이
for _ in range(steps):
nx,ny = x+dx[dir_idx], y+dy[dir_idx]
x,y = nx,ny
path.append((x,y,dir_idx))
if x==0 and y==0:
break
dir_idx = (dir_idx+1)%4 # 시계방향 회전
if x==0 and y==0:
break
steps += 1
# (0,0)까지 온 상태, 이제 되돌아가기 위해 path 역순으로 복제
back = []
for i in range(len(path)-1, 0, -1):
px,py,_ = path[i]
# 되돌아갈 때 바라보는 방향은 원래 이동 방향의 반대
nx,ny,_ = path[i-1]
# 현재 위치에서 다음 위치(역순에서는 path[i-1])로 가는 벡터
vx,vy = nx-px, ny-py
# 그 벡터에 대응하는 dir_idx 찾기
for d in range(4):
if dx[d]==vx and dy[d]==vy:
back.append((px,py,d))
break
return path + back
def main():
n,m,h,k = map(int, input().split())
runners = []
for _ in range(m):
x,y,t = map(int, input().split())
x-=1; y-=1
# t==1: 좌우(오른쪽으로 시작→dir=0), t==2: 상하(아래로 시작→dir=1)
d = 0 if t==1 else 1
runners.append([x,y,d,t])
trees = set()
for _ in range(h):
x,y = map(int, input().split())
trees.add((x-1,y-1))
# 술래 경로 미리 계산
chaser_path = build_chaser_path(n)
path_len = len(chaser_path)
path_idx = 0 # 현재 위치 인덱스
score = 0
for turn in range(1, k+1):
# 1) 도망자 이동
cx,cy,_ = chaser_path[path_idx]
new_runners = []
for x,y,d,t in runners:
# 거리 체크
if abs(x-cx)+abs(y-cy) <= 3:
nx,ny = x+dx[d], y+dy[d]
# 격자 벗어나면 방향 반전
if not in_bounds(nx,ny,n):
d = (d+2)%4
nx,ny = x+dx[d], y+dy[d]
# 술래 있으면 이동 취소
if not (nx==cx and ny==cy):
x,y = nx,ny
new_runners.append([x,y,d,t])
runners = new_runners
# 2) 술래 이동
path_idx = (path_idx+1) % path_len
cx,cy,cd = chaser_path[path_idx]
# 3) 잡기
caught = []
for dist in range(3):
tx,ty = cx + dx[cd]*dist, cy + dy[cd]*dist
if not in_bounds(tx,ty,n):
break
if (tx,ty) in trees:
continue
# 이 칸에 있는 도망자 모두 잡음
for i,(x,y,_,_) in enumerate(runners):
if x==tx and y==ty:
caught.append(i)
if caught:
caught = set(caught)
cnt = len(caught)
score += turn * cnt
runners = [r for i,r in enumerate(runners) if i not in caught]
print(score)
if __name__ == "__main__":
main()
*o4-mini-high (코딩에 탁월한) 의 답변
실제로는 각 함수 내부에 더 복잡한 분기와 예외 처리가 필요하며, 문제마다 요구사항에 맞게 커스터마이즈가 필수입니다.
삼성 기출처럼 복잡한 구현 문제는 거의 100% 확률로 LLM이 틀린 답을 냅니다. 간혹 *“LLM이 삼성 기출문제를 잘 푼다”*는 인터넷 글도 발견되는데 LLM이 문제 제목을 기반으로 인터넷에서 정답 코드를 검색해 재활용하는 것입니다. 즉 LLM이 직접 논리적으로 문제를 분석하고 해결한 것이 아닙니다.
결론적으로 LLM(GPT, Claude, Gemini 등)만으로는 삼성 SW A형과 같은 고난도 구현 문제의 정답을 도출하기 어렵습니다.
LLM + 인간의 해결력: 진짜 경쟁력은 어디에?
삼성 A형과 같은 고난도 구현 문제는 코드트리 해설에서 보여주듯, 문제를 작은 단위로 쪼개고 각 부분을 꼼꼼히 설계·구현하는 인간의 논리력이 필수입니다.
하지만 LLM을 적절히 활용하면 다음과 같은 생산성 향상을 기대할 수 있어요.
보편적인 작업 자동화: 입출력, 자료구조 초기화 등 보편적인 코드는 LLM이 빠르게 생성해줍니다.
작게 쪼개어진 문제 풀이: 작게 쪼개어내는 것은 개발자의 몫이지만, 쪼개어진 개개별의 문제는 LLM이 준수하게 풀어냅니다. 코드트리 해설을 예시로 든다면, 도망자의 이동 hider_move(x, y, move_dir), 도망자 잡기 catch_hiders(t) 같은 작은 개개별 문제를 LLM에게 풀게 하면 이는 높은 생산성을 기대할 수 있습니다.
결국 LLM이 풀지 못하는 복잡한 문제를 인간이 논리적으로 쪼개고 설계하며, LLM의 자동화·생산성 도구로서의 장점을 결합하는 것이 가장 현실적인 전략입니다. 최근 삼성 Pro 시험에서도 LLM(챗GPT, Claude 등) 활용이 허용되고 있지만, LLM만으로는 합격이 어렵습니다. 핵심은 개발자가 직접 문제를 해석하고 설계한 뒤, LLM을 보조 도구로 활용하는 것입니다. 예외처리와 최종 완성도는 반드시 개발자가 직접 책임져야 합니다!
삼성 개발자가 되기 위해서는 LLM가 풀지 못하는 문제도 구현할 수 있어야 합니다. 이는 곧, 여러분이 AI와 차별화되는 가장 강력한 무기가 ‘구현력’임을 보여줍니다. 코드트리는 삼성 SW 역량테스트 A형을 대비할 수 있는 삼성 기출 문제, 상세한 해설, 실전 시뮬레이션 환경을 모두 제공합니다. 지금 바로 준비를 시작해 보세요!
코드트리와 함께라면 삼성 A형, 충분히 풀 수 있습니다!
댓글 0
0/2000







