코딩 테스트/백준

[Python] 백준 11004 K번째 수

위시리 2025. 2. 13. 13:51

 

문제 분석

  • N개의 수가 있을 때 K번째 있는 수를 구하라

 

정답 코드

1. sort 정렬

import sys
input = sys.stdin.readline

n, k = map(int, input().split())
h = list(map(int, input().split()))
h = sorted(h)

print(h[k-1])

2. heapq

import sys, heapq
input = sys.stdin.readline

n, k = map(int, input().split())
h = list(map(int, input().split()))
heapq.heapify(h)

# 항상 힙의 길이는 k로 유지
ans = []
for _ in range(k) :
    ans.append(heapq.heappop(h))
print(ans[-1])