4. 대표값
# 대표값 def run(N, nums): avg = int(sum(nums) / N + 0.5) # 반올림 min_d, score, idx = 1e9, 0, 0 for i, s in enumerate(nums): d = abs(s - avg) if d score: score = s idx = i return (avg, idx) N = int(input()) nums = list(map(int, input().split())) avg, idx = run(N, nums) print(avg, idx+1)
3. K번째 큰 수
# K번째 큰 수 def run(N, K, nums): s = set() for i in range(N): for j in range(i+1, N): for k in range(j+1, N): s.add(nums[i] + nums[j] + nums[k]) a = sorted(list(s), reverse=True) return a[K-1] # K번째 큰 수 N, K = map(int, input().split()) nums = list(map(int, input().split())) print(run(N, K, nums))
2. K번째 수
# K번째 수 def run(S, E, K, nums): a = nums[S-1:E] a.sort() return a[K-1] # K번째 수 T = int(input()) for i in range(T): N, S, E, K = map(int, input().split()) nums = list(map(int, input().split())) ans = run(S, E, K, nums) print(f"#{i+1} {ans}")
1-4. [구현] 자주 사용하는 라이브러리
0. 방향 벡터 # direction: 서, 남, 동, 북 dx = [0, 1, 0, -1] dy = [-1, 0, 1, 0] steps = [(0, -1), (1, 0), (0, 1), (-1, 0)] steps = {'W': (0, -1), 'S': (1, 0), 'E': (0, 1), 'N': (-1, 0)} 1. itertools: 조합, 순열, 중복순열 import itertools result = list(itertools.combinations([1, 2, 3], 2)) print(result) # [(1, 2), (1, 3), (2, 3)] result = list(itertools.permutations([1, 2, 3], 2)) print(result) # [(1, 2), (1, 3),..