LeetCode DSA 시리즈 #7: 169. 다수 원소

발행: (2026년 1월 9일 오후 01:11 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

Cover image for LeetCode DSA Series #7: 169. Majority Element

문제

이것은 챌린지의 7일 차 시도입니다 (어제 제출을 놓쳤습니다). 오늘 문제는 169. Majority Element 입니다.

크기 n인 배열 nums가 주어지면, 다수 요소를 반환합니다.

다수 요소는 ⌊n / 2⌋보다 많이 나타나는 요소입니다. 배열에 다수 요소가 항상 존재한다고 가정합니다.

해결법

from collections import Counter
from typing import List

class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        counts = Counter(nums)
        majority = len(nums) / 2

        for k, v in counts.items():
            if v > majority:
                return k

복잡도

  • Time:O(N) – 리스트를 한 번 순회해 카운터를 만들고, 다시 한 번 순회해 다수 요소를 찾습니다.
  • Space:O(N) – 카운터는 최대 N개의 서로 다른 요소를 저장할 수 있습니다.
Back to Blog

관련 글

더 보기 »

LeetCode DSA 시리즈 #6: 268. Missing Number

문제 개요: 이 작업은 LeetCode 문제 268, Missing Number입니다 – 0부터 n까지의 범위에서 추출된 n개의 서로 다른 숫자를 포함하는 배열 nums가 주어질 때, 하나의 누락된 숫자를 찾는 문제입니다.

두 포인터 (양쪽 끝)

개요 이 패턴은 데이터 구조인 배열이나 문자열의 양쪽 끝에서 시작하여 서로를 향해 이동하는 두 개의 포인터를 사용합니다. 주로 다음과 같은 경우에 사용됩니다: -...