2026 골드만삭스 코딩 인터뷰 실제 질문과 솔루션

발행: (2026년 4월 17일 PM 03:59 GMT+9)
3 분 소요
원문: Dev.to

Source: Dev.to

Problem 1: Transaction Segments

Problem Summary:
(details omitted in the original post)

Key Idea:
(details omitted in the original post)

Problem 2: Efficient Tasks

Problem Summary:
(details omitted in the original post)

Key Idea:
(details omitted in the original post)

Problem 3: Design HashMap

Problem Statement
다음 연산을 지원하는 간단한 해시맵을 구현하세요:

  • MyHashMap() – 자료구조 초기화
  • put(key, value) – 키‑값 쌍을 삽입하거나 업데이트
  • get(key)key에 연결된 값을 반환하고, 키가 없으면 -1 반환
  • remove(key) – 키가 존재하면 삭제

Solution Idea

충돌을 처리하기 위해 체이닝을 사용합니다. 구조는 고정 크기의 버킷 배열을 가지고, 각 버킷은 리스트에 키‑값 쌍을 저장합니다.

  • 해시 함수: key % bucket_size
  • 충돌 처리: 리스트 기반 체이닝
  • 연산: 각 버킷 내부에서 선형 탐색

Python Implementation

class MyHashMap:
    def __init__(self, bucket_size: int = 1000):
        self.bucket_size = bucket_size
        self.buckets = [[] for _ in range(bucket_size)]

    def _hash(self, key: int) -> int:
        return key % self.bucket_size

    def put(self, key: int, value: int) -> None:
        idx = self._hash(key)
        bucket = self.buckets[idx]
        for i, (k, _) in enumerate(bucket):
            if k == key:
                bucket[i] = (key, value)   # update existing
                return
        bucket.append((key, value))          # insert new

    def get(self, key: int) -> int:
        idx = self._hash(key)
        bucket = self.buckets[idx]
        for k, v in bucket:
            if k == key:
                return v
        return -1

    def remove(self, key: int) -> None:
        idx = self._hash(key)
        bucket = self.buckets[idx]
        for i, (k, _) in enumerate(bucket):
            if k == key:
                bucket.pop(i)
                return

Complexity

  • 평균 시간: O(1) 각 연산당
  • 최악 시간: O(n) (모든 키가 하나의 버킷에 충돌할 경우)
  • 공간: O(n) 키‑값 쌍을 저장하기 위한 공간

Interview Tips

  • 가장자리 경우(edge case)를 명확히 설명하는 데 집중하세요.
  • 코딩하면서 사고 과정을 지속적으로 전달하세요.
  • 재해싱(rehashing), 로드 팩터(load factor), 다른 충돌 해결 전략에 대한 후속 질문에 대비하세요.
  • 배열, 동적 프로그래밍, 그리디, 디자인 등 다양한 카테고리의 LeetCode Medium 문제를 연습하세요.

Goldman Sachs 면접 준비에 행운을 빕니다!

0 조회
Back to Blog

관련 글

더 보기 »

보안 및 문자열 보간

소개 긴 공백기 후에 다시 돌아왔습니다. 이번에는 구직 활동에 집중하고 최근 CVE를 다시 살펴보고 있습니다. 취약점의 일반적인 원천 중 하나는 문자열 인터…