알고리즘

[프로그래머스, 파이썬] 최빈값 구하기

hminor 2024. 2. 29. 10:33

풀이

  • 딕셔너리를 활용하여 해결하고자 했으며
  • return으로는 mx라는 중복된 각 문자의 개수가 있는 dic.values()에서 가장 큰 값이
  • dic.values()에서 몇 개가 있는지 확인 후 1개가 아닐 경우 -1을
  • 아닐 경우 해당 값이 몇 번째 인덱스에 존재하는지 확인 후 
  • 해당 인덱스 값을 dic.key()에서 찾아 return 하여 해결

 

def solution(array):
    dic = dict()
    for i in array:
        if dic.get(i): dic[i] += 1
        else: dic[i] = 1
    mx = max(dic.values())
    return -1 if list(dic.values()).count(mx) != 1 else list(dic.keys())[list(dic.values()).index(mx)]