최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 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
[ 프로그래머스 / 파이썬 ] 영어가 싫어요 (1) | 2023.02.01 |
---|---|
[ 프로그래머스 / 파이썬 ] 2차원으로 만들기 (0) | 2023.01.24 |
[ 프로그래머스 / 파이썬 ] 옹알이(1) (0) | 2023.01.17 |
[ 프로그래머스 / SQL KIT / MySQL ] 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 (0) | 2023.01.13 |
[ 프로그래머스 / 파이썬 ] 피자나눠먹기 (2) (0) | 2023.01.10 |