문제
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
입출력
array | result |
[1, 2, 3, 3, 3, 4] | 3 |
[1, 1, 2, 2] | -1 |
[1] | 1 |
답
def solution(array):
answer = 0
d = {}
for i in set(array): # 중복 제외.
d[i] = array.count(i) # 딕셔너리에 { 값, 반복 횟수 } 저장.
max_num = max(d.values()) # 가장 많이 반복된 횟수 구함.
cnt = 0
for k, v in d.items():
if v == max_num:
answer = k # 가장 많이 반복된 값 저장.
cnt += 1
if cnt > 1: # 값이 여러 개면 -1 저장.
answer = -1
return answer
'코딩테스트 > programmers' 카테고리의 다른 글
[코딩테스트/programmers] Lv.0 직각삼각형 출력하기 (0) | 2022.10.17 |
---|---|
[코딩테스트/programmers] Lv.0 문자열 정렬하기 (2) (1) | 2022.10.15 |
[코딩테스트/programmers] Lv.0 옷가게 할인 받기 (1) | 2022.10.15 |
[코딩테스트/programmers] Lv.0 피자 나눠 먹기(2) (0) | 2022.10.15 |
[코딩테스트/programmers] Lv.0 분수의 덧셈 (0) | 2022.10.14 |
댓글