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

[LeetCode] 229. Majority Element II

Daniel803 2023. 7. 13. 07:15

'169. Majority Element'에서 난이도가 조금 올라간 문제지만 큰 틀에선 똑같기에 솔루션 역시 흡사하다. 

 

Given an integer array of size n, find all elements that appear more than ⌊ n/3 ⌋ times.

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

 

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

 

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

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

        ret = []

        for i, k in enumerate(dic):
            if dic[k] > (len(nums) // 3):
                ret.append(k)

        return ret

 

참고

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