알고리즘/프로그래머스
[ 프로그래머스 / 파이썬 ] 최빈값 구하기
감싹이
2023. 1. 9. 21:18
🎉 문제
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
🎉 풀이
파이썬도 이렇게 푸는 게 맞나.. 싶긴 하다
자바로 풀던 버릇이 아직 남아서 인덱스를 이용해 최빈값 구하고 결과를 출력했다
🎉 코드
def solution(array):
cnt = list(0 for i in range(0,max(array)+1)) #array의 가장 큰 수만큼 배열 크기 지정
#빈도수 체크
for i in array:
cnt[i] += 1
#제일 많은 빈도수 구하기
max_num = max(cnt)
#기록된 최빈값의 인덱스 = 원래 값
idx = -1
#최빈값이 1개인지 체크
num = 0
for i in range(len(cnt)):
if cnt[i] == max_num:
idx = i
num += 1
#최빈값의 수에 따라 결과 출력
if num == 1:
answer = idx
else: answer = -1
return answer