CodeKata_3
🙋♀️ 문제
숫자로 이루어진 배열인 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):
# 아래 코드를 입력해주세요.
count = {}
for i in nums:
try: count[i] += 1
except: count[i]=1
return count
근데 이렇게 짜면 중복값밖에 못 가져오쟈나??? 오 노우!
과반수 넘는 건 어떻게 처리 하는 걸까,,
딕셔너리로 가져오는게 아니라 다른 방법이 있는 걸까????
🤗 정다압!
def more_than_half(nums):
# 아래 코드를 입력해주세요.
count = {}
for i in nums:
try: count[i] += 1
except: count[i]=1
for key,value in count.items():
if value > len(nums)/2:
return(key)
들어오는 값 nums의 길이를 구해 2분의 1로 자른 후!
그 길이값보다 value가 더 길면 반환하는 걸로 처리하면 된다!!!!!!!!!
Author And Source
이 문제에 관하여(CodeKata_3), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@cheesechoux/CodeKata3저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)