https://www.acmicpc.net/problem/2108
import sys
import numpy as np
from collections import Counter
n = int(input())
num = []
for _ in range(n):
num.append(int(sys.stdin.readline()))
if n == 1:
print(num[0])
print(num[0])
print(num[0])
print(0)
else:
num.sort()
num_counter = Counter(num)
most_common = num_counter.most_common(2)
print(int(np.rint(np.mean(num))))
print(int(np.median(num)))
if len(most_common) > 1:
if most_common[0][1] == most_common[1][1]:
print(most_common[1][0])
else:
print(most_common[0][0])
else:
print(most_common[0][0])
print(np.max(num)-np.min(num))
처음 제출한 코드
최빈값을 찾기 위해 Counter.most_common() 함수를 이용했습니다.
중앙값도 numpy.median()을 쓰면 간편하기 때문에 사용해줬습니다.
근데 계속 틀리길래 numpy를 사용하면 안되는 건가 싶어서 numpy 없이 제출했더니 통과했습니다.
백준에서는 numpy는 쓰지 마시길..
import sys
from collections import Counter
n = int(input())
num = []
for _ in range(n):
num.append(int(sys.stdin.readline()))
if n == 1:
print(num[0])
print(num[0])
print(num[0])
print(0)
else:
num.sort()
num_counter = Counter(num)
most_common = num_counter.most_common(2)
print(round(sum(num) / n))
print(num[n // 2])
if len(most_common) > 1:
if most_common[0][1] == most_common[1][1]:
print(most_common[1][0])
else:
print(most_common[0][0])
else:
print(most_common[0][0])
print(num[-1] - num[0])
'알고리즘 > 백준' 카테고리의 다른 글
[Python] 백준 파이썬 11650 좌표 정렬하기 (0) | 2022.09.15 |
---|---|
[Python] 백준 파이썬 1427 소트인사이드 (0) | 2022.09.14 |
[Python] 백준 파이썬 25305 커트라인 (0) | 2022.09.12 |
[Python] 백준 파이썬 10989 수 정렬하기 3 (0) | 2022.09.11 |
[Python] 백준 파이썬 2751 수 정렬하기 2 (0) | 2022.09.10 |