질문 187 · 실전 면접 답변
실행 속도는 빠르지만 메모리를 너무 많이 쓰는 알고리즘은 어떻게 조정할 수 있나요?
이렇게 답해 보세요 (핵심 답변)
먼저 허용 가능한 메모리 상한과 현재 최대 사용량을 확인한 뒤, 한 번에 보관하는 데이터양을 줄이는 방향으로 조정합니다. 예를 들어 전체 데이터를 메모리에 쌓는 대신 스트리밍·배치 처리를 도입하고, 동적 계획법(DP)에서 전체 표 대신 직전 행만 유지하거나, 무제한 캐시에 크기 제한과 퇴거(Eviction) 정책을 적용합니다. 필요하면 저장 대신 재계산으로 메모리를 아끼는 절충을 택하고, 변경 후에도 정확성과 최악 실행 시간이 기준 안에 드는지 다시 확인합니다.
함께 설명하면 좋은 이유 (꼬리질문 대비)
- 공간 사용량을 줄이면 그 대가로 재계산 시간이나 디스크·네트워크 I/O 비용이 늘어날 수 있으므로 시간-공간 절충을 함께 확인해야 합니다.
- 만약 API 계약 자체가 '모든 결과 원소를 배열 하나로 한꺼번에 반환한다'로 고정되어 있다면 스트리밍 적용을 위해 호출 계약부터 조율해야 합니다.
면접에서 자주 하는 실수
데이터 보관 구조를 점검하지 않고 무조건 서버 메모리를 증설하겠다고만 답하거나 출력 계약을 무시하면 안 됩니다.
원리와 예제까지 읽기
공식 참고 자료
질문 목록 출처 ↗ · 원본 187번을 바탕으로 질문과 답변을 새로 정리했습니다.