Algorithm/프로그래머스

[Python] [코딩 기초 트레이닝] / 최빈값 구하기

code-bean 2024. 9. 7. 20:20
[문제 설명]

최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다.
정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요.
최빈값이 여러 개면 -1을 return 합니다.



[제한사항]
1. 0 < array의 길이 < 100
2. 0 ≤ array의 원소 < 1000

 

def solution(array):
    answer = 0
    return answer

 

 

- return answer if answer else -1

 

 

 

[A] (내가 쓴 답)

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))

 

 

 

[A] 다른 답들

def solution(array):
    while len(array) != 0:
        for i, a in enumerate(set(array)):
            array.remove(a)
        if i == 0: return a
    return -1