기술(Tech, IT)/리트코드(LeetCode)

[LeetCode] 169. Majority Element

Daniel803 2023. 7. 12. 07:11

 1150번과 매우 유사한 문제다. 다만 다른 점은 해당 문제에선 Majority Element가 반드시 있다는 가정하에 이를 반환하는 것이고, 1150은 input으로 주어진 숫자가 Majority Element가 맞는지 틀린지를 반환하는 것이다.

 

Given an array nums of size n, return the majority element.
The majority element is the element that appears more than ⌊n / 2⌋ times. You may assume that the majority element always exists in the array.

Example 1:
Input: nums = [3,2,3]
Output: 3

 

Example 2:
Input: nums = [2,2,1,1,1,2,2]
Output: 2

 

class Solution:
    def majorityElement(self, nums: List[int]) -> int:
        dic = defaultdict(int)
        l = len(nums) // 2

        for i, n in enumerate(nums):
            dic[n] += 1
            if dic[n] > l:
                return n

 

참고:

- https://leetcode.com/problems/majority-element/