•
•
문제 설명 : nums 에서 가장 많이 존재하는 숫자(전체 요소 갯수 중 절반 이상)을 반환
•
풀이 방법
◦
dict를 사용하거나, count를 진행하며 문제를 풀었다.
◦
문제상에서는 두 방법 모두 시간차이는 크게 없었다.
•
시간복잡도 :
•
성공 코드(count 방식)
class Solution:
def majorityElement(self, nums: List[int]) -> int:
target_num = nums[0]
target_count = 1
for i in range(1, len(nums)):
if target_num != nums[i]:
target_count -= 1
if target_count == 0:
target_num = nums[i]
target_count = 1
else:
target_count += 1
return target_num
Python
복사
•
성공 코드 (dict 방식)
from collections import defaultdict
class Solution:
def majorityElement(self, nums: List[int]) -> int:
info = defaultdict(int)
keys = set()
for num in nums:
keys.add(num)
info[num] += 1
for key in keys:
if info[key] > len(nums) // 2:
return key
JavaScript
복사