코딩테스트/SW Expert Academy
[D2] 1204. 최빈수 구하기
셂
2024. 9. 29. 17:30
1204. 최빈수 구하기
✏️ 문제 풀이
- 리스트 lst의 요소를 순회하면서 각 점수를 score 리스트의 해당 인덱스에 증가시킴
(lst 리스트의 각 요소를 하나씩 ls라는 변수에 할당하면서 반복)
ex) 점수가 85인 경우 score[85] 1 증가
- mx: 점수가 몇 번 발생했는지 / mx_idx: 그 점수의 값
- score 리스트의 인덱스를 0~100까지 순
T = int(input())
for tc in range(1, T + 1):
N = int(input())
lst = list(map(int, input().split()))
# 점수를 카운트할 리스트 (0~100) 초기화
score = [0] * 101
# 각 점수에 대해 카운트
for ls in lst:
score[ls] += 1
# 최대 점수 카운트와 그 인덱스 초기화
mx = 0
mx_idx = 0
# 점수 리스트를 순회하며 최대 점수와 인덱스 찾기
for i in range(len(score)):
if score[i] > mx: # 현재 점수가 더 높으면
mx = score[i] # 최대 점수 업데이트
mx_idx = i # 해당 인덱스 업데이트
elif score[i] == mx: # 점수가 같으면
mx_idx = max(mx_idx, i) # 인덱스 업데이트 (가장 큰 점수 인덱스)
print(f"#{tc} {mx_idx}")