238
머신러닝 인터뷰 실무 가이드
야 할 몇 가지 패턴에 대해 알려드리겠습니다.
브레인티저 프로그래밍 문제 패턴
릿코드나 해커랭크에 가입하게 되면, 수백 가지의 문제들을 마주하게 됩니다. 이 많은 문제
들로 인해 어디서부터 시작해야 할지 모르는 마비를 겪을 수 있습니다. 그리고 “정말 수십만
개의 문제를 모두 익힐 수 있을까?” 하는 걱정이 이어집니다.
하지만 걱정하지 마세요, 모든 것을 공부할 필요는 없습니다. 많은 문제들이 유사한 개념과
패턴에서 비롯되거든요. 공통된 패턴을 식별하고 그 기본 원칙을 이해하는 데에 더 집중하
면, 이전에 보지 못한 새로운 문제도 유연하게 대응할 수 있게 됩니다.
100
개의
문제가 있어도 이들이 실제로 확인하는 것이 단지
10
가지 주요 패턴뿐이라면,
100
개의 문제 전부를 처음부터 끝까지 다 다루기보다는 초기에 각 유형별로
2
~
3
개씩만 다뤄보
는 것이 (총
20
~
30
개의 문제 ) 시간을 절약하는 방법일 것입니다.
이 절은 대략적으로만 살펴봐도 되며, 지금 바로 모든 것을 깊이 이해하지 않아도 됩니다. 인
터뷰 준비를 시작한 이후에 다시 돌아와서 복습해도 됩니다.
우리가 주목해야 할 몇 가지 패턴은 다음과 같습니다.
●
배열과 문자열 조작
●
슬라이딩 윈도우
●
두 개의 포인터
●
빠르고 느린 포인터
●
구간 병합
●
그래프 탐색 (예: 깊이 우선 탐색 (
DFS
)과 너비 우선 탐색 (
BFS
))
배열과 문자열 조작, 슬라이딩 윈도우, 두개의 포인터에 대해서는 상세히 다룰 예정입니다.