본문 바로가기

Study/Algorithm 문제풀이

[SW Expert Academy] 1204. [S/W 문제해결 기본] 1일차 - 최빈수 구하기(using python)

728x90
반응형

* 문제의 저작권은 SW Expert에 있습니다.

swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV13zo1KAAACFAYh&categoryId=AV13zo1KAAACFAYh&categoryType=CODE&problemTitle=%5BS%2FW+%EB%AC%B8%EC%A0%9C%ED%95%B4%EA%B2%B0+%EA%B8%B0%EB%B3%B8%5D+1%EC%9D%BC%EC%B0%A8+-+%EC%B5%9C%EB%B9%88%EC%88%98+%EA%B5%AC%ED%95%98%EA%B8%B0&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

[ 문 제 ]

어느 고등학교에서 실시한 1000명의 수학 성적을 토대로 통계 자료를 만들려고 한다.

이때, 이 학교에서는 최빈수를 이용하여 학생들의 평균 수준을 짐작하는데, 여기서 최빈수는 특정 자료에서 가장 여러 번 나타나는 값을 의미한다.

다음과 같은 수 분포가 있으면,

10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3

최빈수는 8이 된다.

최빈수를 출력하는 프로그램을 작성하여라 (단, 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라).

[제약 사항]

학생의 수는 1000명이며, 각 학생의 점수는 0점 이상 100점 이하의 값이다.
 
[입력]


첫 번째 줄에 테스트 케이스의 수 T가 주어진다.

각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄부터는 점수가 주어진다.

[출력]

#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다.

 

입력과 출력 예시

[ 전체코드 ]

for i in range(1, int(input())+1):
    N = int(input())
    values = list(map(int, input().split()))
    xx = {str(i):values.count(i) for i in values if str(i) not in values}
    findmaxindex = list(xx.values()).index(max(list(xx.values())))
    print(f"#{i}", list(xx.keys())[findmaxindex])

 

728x90
반응형