반응형
문제
정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요.
최빈값이 여러 개면 -1을 return 합니다.
예시
- [1,2,3,3,3,4]에서 1은 1개 2는 1개 3개는 3개 4는 1개로 최빈값은 3입니다
- [1,1,2,2]에서 1은 2개, 2는 2개로 최빈값이 1,2입니다. 최빈값이 여러개이므로 -1을 return합니다
- [1]에는 1만 있으므로 최빈값은 1입니다.
풀이
import statistics
def solution(array):
multimode_num = statistics.multimode(array)
print(multimode_num)
statistics 라이브러리 실행 후, multimode(최빈값들의 list)를 활용해 최빈값을 알아낸다.
이때, 최빈값이 여러 개인 경우, -1를 출력해야 하므로 추가 조건을 더 작성해야 한다.
len을 사용해 조건을 걸어주자.
import statistics
def solution(array):
mm_num = statistics.multimode(array)
if len(mm_num) > 1:
answer = -1
else:
answer = mm_num[0]
return answer
len(mm_num) 즉, 최빈값의 개수가 여러 개이면 -1를 출력하도록 하고, 그게 아니라면 mm_num[0] 즉 최빈값 list에서 첫번째 값 즉, 최빈값 본인을 출력하라고 작성하였다.
반응형