- 시간 : 10개 테스트케이스를 합쳐서 C의 경우 10초 / C++의 경우 10초 / Java의 경우 20초 / Python의 경우 30초
- 메모리 : 힙, 정적 메모리 합쳐서 256MB 이내, 스택 메모리 1MB 이내
※ SW Expert 아카데미의 문제를 무단 복제하는 것을 금지합니다.
어느 고등학교에서 실시한 1000명의 수학 성적을 토대로 통계 자료를 만들려고 한다.
이때, 이 학교에서는 최빈수를 이용하여 학생들의 평균 수준을 짐작하는데, 여기서 최빈수는 특정 자료에서 가장 여러 번 나타나는 값을 의미한다.
다음과 같은 수 분포가 있으면,
10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3
최빈수는 8이 된다.
최빈수를 출력하는 프로그램을 작성하여라 (단, 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라).
[제약 사항]
학생의 수는 1000명이며, 각 학생의 점수는 0점 이상 100점 이하의 값이다.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄부터는 점수가 주어진다.
[출력]
#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다.
코드
for t in range(int(input())):
n = int(input())
nums = list(map(int, input().split()))
d = {}
for i in nums:
if i in d:d[i]+=1
else:d[i]=1
print(f'#{n} {sorted(d.items(), key=lambda x:(-x[1], -x[0]))[0][0]}')
'알고리즘 > SWEA' 카테고리의 다른 글
[D4] [S/W 문제해결 기본] 7일차 - 미로1 - 1226 (python) (0) | 2024.06.25 |
---|---|
[D3] 정삼각형 분할 놀이 - 3233 (python) (0) | 2024.06.25 |
1220. [S/W 문제해결 기본] 5일차 - Magnetic [python] (0) | 2024.06.19 |
10505. 소득 불균형 [python] (0) | 2024.06.19 |
10200. 구독자 전쟁 [python] (0) | 2024.06.19 |