CodeKata_3

951 단어 codekatacodekata

🙋‍♀️ 문제

숫자로 이루어진 배열인 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가 더 길면 반환하는 걸로 처리하면 된다!!!!!!!!!

좋은 웹페이지 즐겨찾기