K๋ฒ์งธ ํฐ ์
๐ ๋ฌธ์
ํ์๋ 1๋ถํฐ 100์ฌ์ด์ ์์ฐ์๊ฐ ์ ํ N์ฅ์ ์นด๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๊ฐ์ ์ซ์์ ์นด๋๊ฐ ์ฌ๋ฌ์ฅ ์์ ์ ์์ต๋๋ค.
ํ์๋ ์ด ์ค 3์ฅ์ ๋ฝ์ ๊ฐ ์นด๋์ ์ ํ ์๋ฅผ ํฉํ ๊ฐ์ ๊ธฐ๋กํ๋ ค๊ณ ํฉ๋๋ค.
3์ฅ์ ๋ฝ์ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
๊ธฐ๋กํ ๊ฐ ์ค K๋ฒ์งธ๋ก ํฐ ์๋ฅผ ์ถ๋ ฅ ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
๋ง์ฝ ํฐ ์๋ถํฐ ๋ง๋ค์ด์ง ์๊ฐ 25 25 23 23 22 20 19......์ด๊ณ
K๊ฐ์ด 3์ด๋ผ๋ฉด K๋ฒ์งธ ํฐ ๊ฐ ์ 22์ ๋๋ค.
โฃ ์ ๋ ฅ์ค๋ช
์ฒซ ์ค์ ์์ฐ์ N(3<=N<=100)๊ณผ K(1<=K<=50) ์ ๋ ฅ๋๊ณ ,
๊ทธ ๋ค์ ์ค์ N๊ฐ์ ์นด๋๊ฐ์ด ์ ๋ ฅ ๋๋ค.
โฃ ์ถ๋ ฅ์ค๋ช
์ฒซ ์ค์ K๋ฒ์งธ ์๋ฅผ ์ถ๋ ฅํฉ๋๋ค.
K๋ฒ์งธ ์๋ ๋ฐ๋์ ์กด์ฌํฉ๋๋ค.
โฃ ์ ๋ ฅ์์
10 3
13 15 34 23 45 65 33 11 26 42
โฃ ์ถ๋ ฅ์์
143
๐ง ํ์ด
ํ์ด
'''
[์๋ฃ๊ตฌ์กฐ์ ์๊ณ ๋ฆฌ์ฆ ์
๋ฌธ]
K๋ฒ์งธ ํฐ ์
ํ์๋ 1๋ถํฐ 100์ฌ์ด์ ์์ฐ์๊ฐ ์ ํ N์ฅ์ ์นด๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
๊ฐ์ ์ซ์์ ์นด๋๊ฐ ์ฌ๋ฌ์ฅ ์์ ์ ์์ต๋๋ค.
ํ์๋ ์ด ์ค 3์ฅ์ ๋ฝ์ ๊ฐ ์นด๋์ ์ ํ ์๋ฅผ ํฉํ ๊ฐ์ ๊ธฐ๋กํ๋ ค๊ณ ํฉ๋๋ค.
3์ฅ์ ๋ฝ์ ์ ์๋ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ๊ธฐ๋กํฉ๋๋ค.
๊ธฐ๋กํ ๊ฐ ์ค K๋ฒ์งธ๋ก ํฐ ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
25, 25, 23, 23, 22, 20, 19... K๊ฐ์ด 3์ด๋ผ๋ฉด K๋ฒ์งธ ํฐ ๊ฐ์ 22
'''
# ์
๋ ฅ: ์ฒซ์งธ ์ค n, k
# ์
๋ ฅ: ๋์งธ ์ค n๊ฐ์ ์นด๋๊ฐ ์
๋ ฅ
# ์ถ๋ ฅ: k๋ฒ์งธ ์ ์ถ๋ ฅ
from itertools import combinations # itertools ํจํค์ง์์ combinations ๋ชจ๋ ๋ถ๋ฌ์ค๊ธฐ
n, k = map(int, input().split()) # n, k ์ ์ ํ ๋น
n_list = input().split() # n_list์ ์ซ์ ์
๋ ฅํ์ฌ ๋ฆฌ์คํธ๋ก ํ ๋น
data = combinations(n_list, 3) # combinations() ํจ์ ํตํด, n_list์ ์์ 3๊ฐ์ฉ ๋ฌถ์ ์กฐํฉ data์ ํ ๋น
a_list = [] # ์ ๋ต์ ๋ด์ a_list ๋น ๋ฆฌ์คํธ ํ ๋น
for i in data: # data์ ๊ฐ ์์ i ๋ฐ๋ณต
a_list.append(sum((int(i[0]), int(i[1]), int(i[2])))) # ๊ฐ ์์์ ํฉ ๋ํ์ฌ a_list์ ํ ๋น
tmp = set(a_list) # a_list๋ฅผ set ์๋ฃ๊ตฌ์กฐ๋ก ๋ณํํ์ฌ tmp์ ํ ๋น
a_list2 = list(tmp) # a_list2๋ ๊ธฐ์กด์ list๋ฅผ set์ผ๋ก ๋ณํํ๋ค๊ฐ ๋ค์ list๋ก ๋ณํํ ๊ฒ
a_list2.sort(reverse=True) # a_list2 ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
print(a_list2[k-1]) # a_list2์ k-1 ์ธ๋ฑ์ค์ ๊ฐ ์ถ๋ ฅ
๋ค๋ฅธ ์ฌ๋ ํ์ด
# K๋ฒ์งธ ํฐ ์
n, k = map(int, input().split())
a = list(map(int, input().split()))
# ์ค๋ณต์ ์ ๊ฑฐํ๋ ์๋ฃ๊ตฌ์กฐ
res = set()
# ์ค๋ณต ๋ฐฉ์ง
# ์ผ์ค ๋ฐ๋ณต๋ฌธ
# set์ append()๊ฐ ์๋ add()
for i in range(n):
for j in range(i+1, n):
for m in range(j+1, n):
res.add(a[i]+a[j]+a[m])
# set์ sort()๊ฐ ์์
# list๋ก ๋ฐ๊ฟ์ ์ ๋ ฌํด์ค์ผ ํจ
# sort(reverse=True) ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ
res = list(res)
res.sort(reverse=True)
print(res[k-1])
'๐งฉ Algorithm > ๐จ Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์๋ฆฟ์์ ํฉ (0) | 2022.07.24 |
---|---|
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ์ ๋ค๋ฉด์ฒด (0) | 2022.07.24 |
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] ๋ํ๊ฐ (0) | 2022.07.24 |
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] K๋ฒ์งธ ์ (0) | 2022.07.24 |
[ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ] K๋ฒ์งธ ์ฝ์ (0) | 2022.07.24 |