[BOJ] K 번째 수 - 파이썬

문제

수 N개 A1, A2, …, AN이 주어진다. A를 오름차순 정렬했을 때, 앞에서부터 K번째 있는 수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 N(1 ≤ N ≤ 5,000,000)과 K (1 ≤ K ≤ N)이 주어진다.

둘째에는 A1, A2, …, AN이 주어진다. (-109 ≤ Ai ≤ 109)

출력

A를 정렬했을 때, 앞에서부터 K번째 있는 수를 출력한다.

예제 입출력

입력 출력
5 2
4 1 2 3 5
2

내 코드

N, target = map(int, input().split(' '))
arr = list(map(int, input().split(' ')))
arr.sort()
print(arr[target-1])

기본 내장 정렬 함수로 쉽게 풀 수 있었다. 하지만 시간도 4232ms 걸리고, 메모리도 620096kb 필요하였기 때문에 효율성 부분은 더 생각이 필요했다. pypy3로 했을 때는 시간이 2604ms로 절반으로 줄어들고, 메모리는 약간 증가했지만 효율적이었다.


Written by@[Ykss]
고이게 두지 않고 흘려보내는 개발자가 되자.

GitHubInstagramLinkedIn