CODETAKA2-1

woo97·2022년 2월 22일
0

codetaka

목록 보기
2/4

문제

숫자로 이루어진 배열인 nums를 인자로 전달합니다.

숫자중에서 과반수(majority, more than a half)가 넘은 숫자를 반환해주세요.

예를 들어,

nums = [3,2,3]
return 3

nums = [2,2,1,1,1,2,2]
return 2
nums = [3,2,3]
return 3

nums = [2,2,1,1,1,2,2]
return 2

가정

nums 배열의 길이는 무조건 2 이상입니다.

생각

일단 먼저 len으로 리스트의 길이를 알아내야 한다고 생각했다..
for문으로 nums의 리스트를 하나씩 꺼내서 비교했을때 과반수가 어떻게하면 넘을수 있을까?
나는 생각을 하지 못했지만 옆의 정찬님이 카운트함수를 사용하자고 하셔서
아 그럼 카운트함수로 nums를 에서 i를 세고 길이가 과반수보다 크면 되지 않을까?
처음으로 한 번에 풀려서 너무 기분이 좋은 하루였다...

나의 풀이

def more_than_half(nums):
    # 아래 코드를 입력해주세요.
  my_len = len(nums)
  for i in nums:
    if nums.count(i) >= my_len // 2 + 1:
      return i
profile
인생의 함정은 세상 곳곳에 뚫려 있다.

0개의 댓글