알고리즘 공부, 이제 LLM과 함께 하는 시대인가
알고리즘 면접 준비. 개발자라면 누구나 한 번쯤 이 고통을 겪어봤을 것입니다. LeetCode를 펼쳐놓고, 문제를 읽고, 30분간 멍하니 화면을 바라보다가, 결국 솔루션 탭을 열어보는 경험 말입니다. 특히 실무에서는 트리 순회나 다이나믹 프로그래밍을 직접 구현할 일이 거의 없다 보니, 면접 시즌이 돌아올 때마다 처음부터 다시 공부해야 하는 느낌이 듭니다.
한 폴란드 개발자 Dominik Rudnik이 이 문제에 대해 흥미로운 접근을 시도했습니다. 구글 채용 프로세스에 진입한 그는 알고리즘 면접까지 단 7일밖에 시간이 없었고, 전통적인 공부 방법으로는 도저히 커버할 수 없는 상황에서 LLM을 전면적으로 활용하는 전략을 선택했습니다.
전통적 알고리즘 학습의 한계
알고리즘 공부의 전통적인 방법은 대체로 이렇습니다. 자료구조 교과서를 읽고, 개념을 이해하고, 관련 문제를 직접 풀어보고, 막히면 해설을 보고, 다시 비슷한 유형의 문제를 풀어보는 반복 학습입니다. 이 방법은 효과적이지만 시간이 오래 걸립니다. 보통 체계적인 면접 준비에 최소 4~8주를 투자하는 것이 일반적인 권장 사항입니다.
Dominik의 상황은 달랐습니다. 그는 스스로 "알고리즘적 무지(algorithmic ignorance)"라고 표현할 정도로 알고리즘 기초가 약한 상태였습니다. 실무에서 수년간 개발을 해왔지만, 코딩 테스트에서 요구하는 종류의 알고리즘 문제 풀이 능력은 별개의 스킬이었던 것입니다. 이것은 사실 많은 경력 개발자들이 공감할 수 있는 상황입니다.
LLM을 활용한 학습 전략
그가 선택한 방법의 핵심은 LLM을 "개인 과외 교사"이자 "패턴 추출기"로 활용하는 것이었습니다. 단순히 LLM에게 답을 물어보는 것이 아닙니다. 그의 접근 방식은 몇 가지 단계로 나눌 수 있습니다.
첫째, 패턴 기반 학습입니다. 개별 문제를 하나씩 푸는 대신, LLM에게 특정 유형의 문제들이 공유하는 풀이 패턴을 추출해달라고 요청했습니다. 예를 들어 "슬라이딩 윈도우 패턴이 적용되는 문제들의 공통 특징은 무엇이고, 어떤 신호(signal)를 보면 이 패턴을 적용해야 한다고 판단할 수 있는가"와 같은 질문입니다. 이는 문제 하나를 푸는 것보다 메타 수준의 이해를 먼저 쌓는 전략입니다.
둘째, 즉각적인 피드백 루프입니다. 문제에 대한 자신의 접근 방식을 LLM에게 설명하고, 어디서 잘못되었는지, 더 효율적인 방법은 무엇인지 즉각적인 피드백을 받았습니다. 전통적인 학습에서는 해설을 읽고 스스로 깨달아야 하는 과정인데, LLM이 이 과정을 대화형으로 만들어준 것입니다.
셋째, 약점 집중 공략입니다. LLM에게 자신이 틀린 문제들의 패턴을 분석하게 하고, 약점이 되는 영역을 식별한 뒤 해당 영역에 집중적으로 시간을 투자했습니다. 7일이라는 극히 제한된 시간에서 효율적인 시간 배분은 생존의 문제였습니다.
이 접근법이 작동하는 이유와 한계
이 방법이 흥미로운 이유는 LLM의 강점과 약점을 정확히 파악하고 활용했다는 점입니다. LLM은 개별 알고리즘 문제의 최적해를 찾는 데는 이미 뛰어난 능력을 보여주고 있습니다. 하지만 그 능력을 단순히 "답 보기"로 사용하면 학습 효과는 제로에 가깝습니다. Dominik은 LLM을 답을 얻는 도구가 아니라 학습 과정을 가속하는 도구로 활용했습니다.
물론 한계도 분명합니다. 7일간의 집중 학습으로 수년간의 알고리즘 훈련을 대체할 수는 없습니다. 깊은 수준의 직관과 문제 해결 능력은 반복적인 연습을 통해서만 형성됩니다. LLM이 도와줄 수 있는 것은 "이미 존재하는 패턴을 빠르게 흡수하는 것"이지, "새로운 패턴을 스스로 발견하는 능력"을 키워주는 것은 아닙니다.
또한 면접 상황에서는 LLM의 도움 없이 혼자 문제를 풀어야 합니다. LLM과 대화하며 문제를 풀 때의 이해 수준과, 백지 상태에서 혼자 떠올려야 할 때의 수준은 분명히 다릅니다. 이 갭을 어떻게 메울 것인가가 이 학습법의 핵심 과제입니다.
한국 개발자에게 주는 시사점
한국의 개발자 채용 시장에서 코딩 테스트는 거의 필수 관문이 되었습니다. 카카오, 네이버, 라인, 쿠팡 등 주요 IT 기업들이 알고리즘 테스트를 진행하고 있고, 백준이나 프로그래머스에서의 문제 풀이는 많은 개발자들의 일상이 되었습니다.
이 맥락에서 Dominik의 경험은 두 가지 시사점을 줍니다. 하나는 LLM을 알고리즘 학습 보조 도구로 활용하는 구체적인 방법론입니다. ChatGPT나 Claude에게 단순히 "이 문제 풀어줘"가 아니라 "이 유형의 문제를 인식하는 방법을 알려줘"라고 질문하는 것만으로도 학습 효율이 크게 달라질 수 있습니다.
다른 하나는 더 근본적인 질문입니다. LLM 시대에 알고리즘 면접이 여전히 개발자의 역량을 측정하는 좋은 방법인가? LLM이 알고리즘 문제를 인간보다 잘 푸는 시대에, 그것을 인간에게 요구하는 것이 합리적인가? 이 질문은 아직 답이 나지 않았지만, 채용 프로세스의 변화를 이끌 수 있는 중요한 논의입니다.
마무리
LLM은 알고리즘 학습의 방식을 바꿀 수 있는 도구이지만, 마법은 아닙니다. 핵심은 도구를 어떻게 활용하느냐에 있습니다. "답을 대신 구해주는 도구"가 아니라 "학습 속도를 높여주는 과외 교사"로 포지셔닝할 때 가장 큰 효과를 발휘합니다.
여러분은 코딩 테스트 준비에 LLM을 활용해보신 적이 있나요? 있다면 어떤 방식이 가장 효과적이었는지 공유해주세요.
🔗 출처: Hacker News
"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"
실제 수강생 후기- 비전공자도 6개월이면 첫 수익
- 20년 경력 개발자 직강
- 자동화 프로그램 + 소스코드 제공