본문 바로가기

Algorithm/파이썬 알고리즘 문제풀이

[python/inflearn/section2] K번째 큰 수

본 내용은 파이썬 알고리즘 문제풀이 (코딩테스트 대비) 강의를 토대로 작성하였습니다.

이미지 클릭시, 강의로 이동됩니닷 :)

# K번째큰수
import sys
#sys.stdin=open("input.txt","rt")
# 25,23,22,20,19
# 20,19,22,23,25

n, k = map(int, input().split())
# num_list에서 3장의 카드를 뽑아 합한 모든 경우의 수 중 K번째로 큰 수
num_list = list(map(int, input().split()))
# 중복없이
res = set()
for i in range(n):
    for j in range(i+1, n): # 앞에서 뽑은 카드는 제외
        for q in range(j+1, n):  # 앞에서 뽑은 카드는 제외
            res.add(num_list[i]+num_list[j]+num_list[q])
res = list(res)
res.sort(reverse=True)
# 리스트의 인덱스는 0부터 시작이니깐 1을 뺀다.
# 3번째는 리스트에선 idx가 2
print(res[k-1])