codekata #7

신승호·2021년 5월 4일

codekata

목록 보기
6/15

codekata_0504


문제

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

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

예를 들어,

nums = [3,2,3]
return 3

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

가정

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

Need to know

  1. 쉽게 생각하자 ! 전체 리스트 숫자에서 과반수 이상인 숫자 뽑아내면 돼

문자로 짜봐

  • 하나씩 넣어서 리스트 전체 숫자의 과반수보다 많은 것만 골라내자
    1.for문으로 num으로 nums리스트를 하나씩 넣자
  1. 그리고 numnums안에 몇개 있는지 세보자 count() 사용 !
  2. 그리고 그 개수가 리스트의 개수의 과반수 보다 많은지 ?len(nums) // 2
  3. 많으면 출력 !

정답

def more_than_half(nums):
    # 아래 코드를 입력해주세요.
    for num in nums:
        if (nums.count(num)) > (len(nums) // 2):
            return num

참고

  • count()
  • len()
  • //
  • for문
profile
신승홉니다

0개의 댓글