5. 정다면체
# 정다면체 def run(N, M): a = [0] * (N + M + 1) for i in range(1, N + 1): for j in range(1, M + 1): a[i+j] += 1 max_cnt, res = -1e9, [] for i, cnt in enumerate(a): if cnt > max_cnt: # 최대일때 숫자들 max_cnt = cnt res = [i] elif cnt == max_cnt: res.append(i) return res N, M = map(int, input().split()) ans = run(N, M) [print(x, end=" ") for x in ans]
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}")