algorithm | February 22, 2020
숫자 배열을 인자로 전달받아, 숫자중에서 과반수가 넘은 숫자를 반환하라.
ex) nums = [2,2,1,1,1,2,2]
def more_than_half(nums):
majority = len(nums) / 2
for num in set(nums):
if nums.count(num) > majority:
return num
def more_than_half(nums):
majority_count = len(nums)//2
for num in nums:
count = sum(1 for elem in nums if elem == num)
if count > majority_count:
return num
from collections import Counter
def more_than_half(nums):
counts = Counter(nums)
return max(counts.keys(), key=counts.get)
dictionary.get('key', 'default')
형태로 사용하면, key가 없을 때 default 값을 반환한다.def more_than_half(nums):
nums.sort()
return nums[len(nums)//2]
list.sort(reverse=True|False, key=myFunc)
형태의 option들을 사용할 수 있다.