๋ฐฑ์ค (boj) ํ์ด์ฌ - 2108 ํต๊ณํ
๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/2108
2108๋ฒ: ํต๊ณํ
์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 500,000)์ด ์ฃผ์ด์ง๋ค. ๊ทธ ๋ค์ N๊ฐ์ ์ค์๋ ์ ์๋ค์ด ์ฃผ์ด์ง๋ค. ์ ๋ ฅ๋๋ ์ ์์ ์ ๋๊ฐ์ 4,000์ ๋์ง ์๋๋ค.
www.acmicpc.net
์ฐ์ ํ๊ท , ์ค์๊ฐ, ๋ฒ์๋ ์ฌ์ ์ง๋ง ์ต๋น๊ฐ์ด ์กฐ๊ธ ์ด๋ ค์ ๋ค. ์ต๋น๊ฐ์ ๊ตฌํด์ฃผ๋ ๋ชจ๋์ด ์์๋๋ฐ
์ฝ๋ ์ ๋ชจ๋์ Counter์๋ค.
https://infinitt.tistory.com/183
ํ์ด์ฌ Collections ๋ชจ๋ - counter , most_common
collections ๋ชจ๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ํ์ด์ฌ์ ๋ด์ฅ๋์ด์๋ ๋ด์ฅํจ์์ ๋๋ค. (๋ฐ๋ก ์ค์น๊ฐ ํ์ ์..) ๋ฆฌ์คํธ๋, ๋ฌธ์์ด์ ์์์ ๋ํ ๊ฐ์๋ฅผ ๊ตฌํ ๋ ๋ฐ๋ณต๋ฌธ์ผ๋ก๋ ๊ตฌํ ์ ์์ง๋ง, counter ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ํธ๋ฆฌํฉ๋..
infinitt.tistory.com
ํ์ด์ฌ ์์ค
import sys
input = sys.stdin.readline
N=int(input())
arr = []
for _ in range(N):
arr.append(int(input()))
#1 ์ฐ์ ํ๊ท
print("%.f"%(sum(arr)/N))
#2 ์ค์๊ฐ
arr.sort()
print(arr[N//2])
#3 ์ต๋น๊ฐ
from collections import Counter
k=Counter(arr).most_common()
if len(arr) > 1: #๋ง์ฝ ์
๋ ฅ๊ฐ์ด ํ๋๋ฉด , ๊ทธ๊ฒ ์ต๋น๊ฐ์ด ๋๋ฏ๋ก ์์ธ์ฒ๋ฆฌ
if k[0][1] == k[1][1]:print(k[1][0])
# ์ต๋น๊ฐ์ ๋น๋์๋ฅผ ๋น๊ตํ์ฌ, 2๊ฐ์ด์์ ์ต๋น๊ฐ์ด ์์ผ๋ฉด ๋๋ฒ์งธ๋ก ์์๊ฒ์ ์ถ๋ ฅ
else : print(k[0][0])
else : print(arr[0])
#4 ๋ฒ์
print(arr[-1] - arr[0])