문제
N개의 숫자로 이루어진 숫자열이 주어지고 오름 차순 정렬했을 때 k번째로 나타나는 숫자를 출력하는 프로그램 작성
1
번째 케이스 5 2 7 3 8 9
에서 2 ~ 5번째 사이의 숫자들 2 7 3 8
을 오름차순 정렬하면 2 3 7 8
이다. 여기서 3번째인 7
을 출력하면 된다.🔑 KeyPoint!
문제해결을 위해서 파이썬 내장 함수인
sort
를 사용하여 문제를 해결할 것이다. 파이썬 내장 함수는 외부 모듈과 달리 import가 필요하지 않기 때문에 아무런 설정 없이 바로 사용할 수 있다. 우리가 흔하게 사용하는
# 케이스 개수
T = int(input())
for t in range(T):
n, s, e, k = map(int, input().split())
a = list(map(int, input().split()))
# CASE 1
a = sorted(a[s-1:e])
print("#%d %d" % ((t+1), a[k-1]))
# CASE 2
#a = a[s-1:e]
# a.sort()
# print("#%d %d" % ((t+1), a[k-1]))
sort
/ sorted
sort
함수는 리스트 객체 그 자체를 정렬만 할 뿐 정렬된 결과를 돌려주지는 않는다.sorted
함수는 입력값을 정렬한 후 그 결과를 리스트로 돌려주는 함수이다.sorted
함수를 사용하면 된다.print("%d %d" % (1, 2))
1 2