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

good_da22·2022년 5월 4일
0

SW Expert Academy

목록 보기
3/20
post-thumbnail

SW Expert Academy

D2 1204번 [S/W 문제해결 기본] 1일차 - 최빈수 구하기 / Python

문제

풀이과정

0 ~ 100점 사이 최빈 수 구하기
정해진 범위의 정수 형태, 계수 정렬
동일한 최빈 수가 있을 때 높은 점수를 출력, 뒤에서 부터 큰 값을 찾자
입력과 출력을 분리, 내가 보기 편하게

소스코드

T = int(input())

def sovle(grade):
  d = [0] * 101

  for i in range(1000):
    d[grade[i]] += 1 #계수정렬

  max = 0
  result = 0
  for i in range(0, 101):
    if d[-1-i] > max: #뒤에서 확인
      max = d[-1-i]
      result = 101-1-i #최빈수의 인덱스

  return result
  
answer = []

for i in range(1, T+1):
  n = int(input())
  grade = list(map(int, input().split()))
  result = sovle(grade)
  answer.append(result)

for test_case in range(1, T+1):
  print("#{} {}".format(test_case, answer[test_case-1]))
profile
dev blog

0개의 댓글