티스토리 뷰

- 문제 링크

https://www.acmicpc.net/problem/2108

- 풀이

실버 3 난이도의 수학, 구현, 정렬 태그가 달려있는 문제였다. 정답률이 25% 밖에 안되서 이 문제가 어렵나 ? 하고 풀어보았다. 

파이썬 기준으로 얘기해보면 아마 저 3번의 최빈값을 구하는 거 때문에 사람들이 많이 틀리지 않았나 싶은 생각이 든다.

 

파이썬에서 제공하는 Counter라는 기능을 사용하면 쉽게 해결할 수 있는 문제지만, 자주 사용하지 않으면 Counter의 존재 자체를 계속 까먹으니 자주 써버릇 하는 것이 중요하겠다.

 

-  코드

from collections import Counter
N = int(input())
arr = []
for _ in range(N):
    arr.append(int(input()))

print(round(sum(arr) / N))
arr.sort()
print(arr[N // 2])

A = Counter(arr).most_common()
if len(A) == 1:
    print(A[0][0])

else:
    if A[1][1] < A[0][1]:
        print(A[0][0])
    else:
        print(A[1][0])


print(arr[-1] - arr[0])
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/12   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함