본문 바로가기

알고리즘

프로그래머스 최빈값 구하기 파이썬 python

def solution(array):
    count = [0]*(max(array)+1)

    for i in array:
        count[i] += 1

    m=0
    for c in count:
        if c== max(count):
            m += 1
    if m>1:
        return -1
    else:
        return count.index(max(count))

count = [0]*(max(array)+1) : 입력된 배열(array)의 최댓값(max)에 1을 더한 크기의 리스트를 생성
ex) array = [2,4,3]max(array) = 4 1을 더하면 5
count = [0,0,0,0,0] 초기화
+1하는 이유: array 배열의 값이 0부터 시작하기 때문에 최댓값이 4이면 +1을 해줘야 0 1 2 3 4 가능

 

return count.index(max(count)) : count 리스트에서 최댓값의 인덱스를 반환
ex) count = [0, 2, 1, 4, 3\]이라면 max(count) = 4
count.index(max(count))4의 인덱스인 3을 반환
최빈값의 숫자!

 

'알고리즘' 카테고리의 다른 글

위상정렬 알고리즘  (0) 2023.11.11
프로그래머스 과일 장수 파이썬 python  (1) 2023.11.10