sohyeon kim

[Python] 프로그래머스 : 최빈값 구하기 120812, dic, key, values, enumerate, set 본문

Coding Test

[Python] 프로그래머스 : 최빈값 구하기 120812, dic, key, values, enumerate, set

aotoyae 2024. 5. 23. 17:29
728x90

 

 

📝 문제

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

 

🫠 나의 풀이

def solution(array):
    dic = {}
    
    for i in array:
        if i in dic:
            dic[i] += 1
        else:
            dic[i] = 1
    
    max_value = max(dic.values())
    max_keys = [key for key in dic if dic[key] == max_value]

    return max_keys[0] if len(max_keys) == 1 else -1

 

🧞‍♂️ 다른 사람의 풀이

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

 

 

 

🔗 https://school.programmers.co.kr/learn/courses/30/lessons/120812?language=python3

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

728x90
반응형