숫자로 이루어진 배열인 nums를 인자로 전달합니다.
숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요.
-입력: 숫자 리스트
-출력: 개수가 과반수인 정수
def more_than_half(nums):
return max(nums, key= lambda x: nums.count(x))
def more_than_half(nums):
majority_count = 0
for num in nums:
if majority_count <= nums.count(num):
majority_count = nums.count(num)
majority = num
return majority
처음에는 두번째 코드처럼 풀었다가 뭔가 더 간단히 풀 수 있는 방법이 있을 것 같아 max함수에 lambda를 이용하여 풀어보았다.
lambda를 알고만 있었지 활용하지는 못했는데, 이런식으로 활용하니 훨씬 간단한 것 같다.
앞으로 리스트의 원소를 하나씩 꺼내 특정 함정 함수를 적용해야할 때 많이 써봐야겠다.