지나가던 개발자
[Python] 백준 2108번(통계학) 문제 풀이 본문
from collections import Counter
import sys
def modefinder(numbers):
c = Counter(numbers)
order = c.most_common()
maximum = order[0][1]
modes = []
for num in order:
if num[1] == maximum:
modes.append(num[0])
return modes
nums = []
for i in range(int(sys.stdin.readline())):
nums.append(int(sys.stdin.readline()))
print(round(sum(nums)/len(nums)))
print(sorted(nums)[len(nums)//2])
m = modefinder(nums)
if len(m) == 1:
print(m[0])
else:
print(sorted(m)[1])
print(max(nums)-min(nums))
modefinder() 함수는 이 블로그에서 끌어왔다.
내가 코드를 끌어오는 기준은 이해할 수 있는가 없는가다. 내가 이해할 수 있으면 그냥 끌어온다. 이해할 수 없다면 내가 직접 짜본다. 이건 이해 가능한 코드였다.
이건 그냥 문제에 제시된 조건대로만 풀면 되는거라서 그닥 설명을 남길 부분이 없는 것 같?다.
여담: 이번에도 input() 썼더니 시간초과 떠서 sys 썼더니 됐음 ㅋㅋ sys는 혁신이다 진짜
'PS > Python' 카테고리의 다른 글
[Python] 백준 11170번(0의 개수) 문제 풀이 (0) | 2022.09.18 |
---|---|
[Python] 백준 11966번(2의 제곱인가?) 문제 풀이 (0) | 2022.09.16 |
[Python] 백준 15688번(수 정렬하기 5) 문제 풀이 (0) | 2022.09.15 |
[Python] 백준 11931번(수 정렬하기 4) 문제 풀이 (0) | 2022.09.15 |
[Python] 백준 2751번(수 정렬하기 2) 문제 풀이 (0) | 2022.09.15 |
Comments