숫자로 이루어진 배열인 nums를 인자로 전달합니다.
숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요.
예를 들어,
nums = [3,2,3]
return 3
nums = [2,2,1,1,1,2,2]
return 2
nums 배열의 길이는 무조건 2 이상입니다.
def more_than_half(nums):
x = list(set(nums))
y = {}
for v in x:
y['{}'.format(v)] = nums.count(v)
z = max([x for x in y.values()])
reversed_y = dict(map(reversed, y.items()))
result = reversed_y[z]
return int(result)
배열 nums에 있는 숫자들의 개수를 count()
로 구하기 위해 nums 배열에서 중복된 숫자를 제거한 변수 x=list(set(nums))
를 생성
set()
은 iterable하지 않아서, for문으로 요소를 차례대로 꺼내는 것이 불가능하다.
딕셔너리의 key와 value 위치를 바꾸는 방법
list comprehension
사용
map()
사용
a = {'a': 5, 'c': 23, 'b':10}
# list comprenesion
a_reversed = {v:k for k, v in a.items()}
# 맵 함수 사용
a_reversed_2 = dict(map(reversed, a.items()))