def solution(array):
count = [0]*(max(array)+1)
for i in array:
count[i] += 1
m=0
for c in count:
if c== max(count):
m += 1
if m>1:
return -1
else:
return count.index(max(count))
count = [0]*(max(array)+1)
: 입력된 배열(array)의 최댓값(max)에 1을 더한 크기의 리스트를 생성
ex) array = [2,4,3]
면 max(array) = 4
1을 더하면 5count = [0,0,0,0,0]
초기화
+1하는 이유: array 배열의 값이 0부터 시작하기 때문에 최댓값이 4이면 +1을 해줘야 0 1 2 3 4 가능
return count.index(max(count))
: count 리스트에서 최댓값의 인덱스를 반환
ex) count = [0, 2, 1, 4, 3\]
이라면 max(count) = 4
count.index(max(count))
는 4의 인덱스인 3을 반환
최빈값의 숫자!
'알고리즘' 카테고리의 다른 글
위상정렬 알고리즘 (0) | 2023.11.11 |
---|---|
프로그래머스 과일 장수 파이썬 python (1) | 2023.11.10 |