알고리즘

[SWEA] 1204 - 최빈수 구하기

inthyes 2023. 11. 14. 01:19

https://swexpertacademy.com/main/solvingProblem/solvingProblem.do

 

SW Expert Academy

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

swexpertacademy.com

 

문제

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

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

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

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

최빈수는 8이 된다.

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


소스코드

t = int(input())
for tc in range(1,t+1):
    a = int(input())
    n = list(map(int,input().split()))
    x = {}
    for i in n:
        if i in x:
            x[i]+=1
        else:
            x[i]= 0
    print("#{} {}".format(tc, max(x, key=x.get)))

 

소스코드 설명

1. list 입력받기

2. dict선언하기

3. 리스트 n만큼 반복하면서 딕셔너리 x에 i가 있을 경우 값을 1 증가, 아닐 경우 0으로 값을 삽입한다.

 

 

'알고리즘' 카테고리의 다른 글

[백준] 25206 - 너의 평점은  (0) 2023.12.03
[SWEA] 10804 - 문자열의 거울상  (1) 2023.11.14
[백준] 2309 - 일곱 난쟁이  (1) 2023.11.09
[백준] 20291 - 파일 정리  (0) 2023.11.02
[백준] 10814- 나이순 정렬  (1) 2023.11.02