본문 바로가기
Python notes/Others

파이썬 예제코드) 최빈값 알고리즘 만들기 (+인덱스 값을 사용)

by 성실한 나무 2021. 3. 25.

#1. 문제 해결

 1) 여러 점수들이 들어 있는 리스트를 만든다

 2) scores 리스트 내에 가장 많이 들어 있는 점수가 최빈값이고 이 값을 찾아야 한다

 3) scores 리스트에서 가장 큰 점수 +1만큼의 원소를 가진 리스트 indexes를 만든다

 4) for 반복문으로 scores 리스트 내의 점수들을 하나씩 indexes 리스트내에 1씩 증가시켜 카운트 한다.

     (scores의 scores[0]=90점을 indexes의 indexes[90]=1로 카운트)

 5) scores 리스트 전체 점수들에 반복한다.

 6) 새로운 for 반복문으로 indexes 리스트 내에 들어 있는 원소들 중 최대값을 찾는다.

 7) indexes[i]=최대값일 경우, i=최빈 점수, indexes[i]는 빈도가 된다.

 

#2. 코드 짜기

# 최빈값 알고리즘 만들기

scores=[90, 85, 100, 100, 70, 60, 90, 90, 85, 90]
indexes=[0]*(100+1) #scores 리스트 내 원소 중 가장 큰 숫자 +1; 모든 원소들은 0으로 설정

for i in range(0,len(scores)):
  indexes[scores[i]]=indexes[scores[i]]+1

import sys
max=-sys.maxsize
for i in range(len(indexes)):
  if indexes[i]>max:
    max=indexes[i]
print(f"최빈값은 {i}이며 {max}번 검색되었습니다.")

 

#3. 실행

댓글