프로그램
[파이썬] 문제 : 최빈값 찾기(numpy)
오디세이99
2022. 12. 6. 02:39
728x90
반응형
(문제)
정수로 이루어진 배열에서 최빈값(가장 자주 나오는 값)을 구하는 코드를 작성하세요.
모든 최빈값을 출력할 필요는 없으며, 최빈값 중 하나만 출력해도 됩니다.
(반드시 NumPy 패키지를 활용하세요)
예)
입력: x = np.array([1,2,3,3,4,5])
출력: 3
입력: x = np.array([0,1,1,1,2,3,3,4,4,4,5])
출력: 1
(방법)
- 반드시 numpy로 사용하라는 것과 예제의 결과를 보면 np.bincount() 함수를 사용하는 것이 맞는 것 같습니다.
- 하지만 bincount() 는 0~10까지만 Count 가능하기 때문에 그 이상의 수에는 최빈값을 찾을 수 없습니다.
import numpy as np
# x = np.array([1,2,3,3,4,5])
x = np.array([0,1,1,1,2,3,3,4,4,4,5,10])
cnt = np.bincount(x) # 0~10까지의 수를 Count하여 리스트의 인덱스 0,1,2,..10 위치에 Count 값 표시
print(x[np.argmax(cnt)]) # argmax하면 리스트의 요소값이 가장 큰 값의 인덱스값을 리턴
결과
1
728x90
반응형