가장 많이 들어있는 수 찾기
Code Kata 란, 2인 1조의 구성으로 서로 협력하여 하루에 한 문제씩 해결하는 과제입니다.
숫자로 이루어진 배열인 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):
# 아래 코드를 입력해주세요.
setnums = list(set(nums))
setnums.sort()
countlist = []
maxnumber = 0
for i in setnums :
a = nums.count(i)
countlist.append(a)
maxnumber = max(countlist)
res = countlist.index(maxnumber)
return setnums[res]
def more_than_half(nums):
# 아래 코드를 입력해주세요.
num = {}
for i in nums:
try: num[i] +=1 # 딕셔너리에 해당 key가 있으면(오류가 없으면) 갯수 +1
except: num[i] =1 # 없으면 갯수가 1이라고 저장
for key, value in num.items():
if value == max(num.values()):
return key