과정
1. 문제의 merge_sort 및 merge 함수 구현
2. global cnt를 통해서 cnt==k일 경우 해당 값을 ans에 대입
3. ans값을 -1로 초기화하여 2번이 안 일어날 경우 그대로 출력
def merge_sort(temp,p,r):
if p<r:
q=(p+r)//2
merge_sort(temp,p,q)
merge_sort(temp,q+1,r)
merge(p,q,r)
def merge(p,q,r):
global ans,cnt
tmp=[]
i,j,t=p,q+1,0
while i<=q and j<=r:
if temp[i]<=temp[j]:
tmp.append(temp[i])
i+=1
else:
tmp.append(temp[j])
j+=1
while i<=q:
tmp.append(temp[i])
i+=1
while j<=r:
tmp.append(temp[j])
j+=1
i=p
for z in range(i,r+1):
temp[z]=tmp[t]
if cnt==k:
ans=temp[z]
t+=1
cnt+=1
n,k=map(int,input().split())
temp=list(map(int,input().split()))
global ans,cnt
cnt,ans=1,-1
merge_sort(temp,0,n-1)
print(ans)
time: 25분