커트라인

import sys


def main():
    input = sys.stdin.readline

    n, k = map(int, input().split())
    k -= 1
    arr = list(map(int, input().split()))

    arr.sort(reverse=True)

    print(arr[k])


main()

배열을 내림차순으로 정렬한 뒤, $k$번째 원소를 출력하면 됩니다.

많은 문제에서 입력과 출력을 $1$-based index로 처리할 것을 요구하지만, 문제 해결 과정에서는 $0$-based index가 편리한 경우가 많습니다. 따라서 입력 직후 $1$을 빼주고, 출력 직전에 $1$을 더해주면 됩니다.

list.sort 메소드와 sorted 함수의 reverse 인자

list.sort 메소드와 sorted 함수는 기본적으로 오름차순으로 정렬을 수행합니다. 내림차순으로 정렬하려면 reverse=True로 설정하면 됩니다.

arr = [3, 1, 4, 1, 5]

print(sorted(arr))                # [1, 1, 3, 4, 5]
print(sorted(arr, reverse=True))  # [5, 4, 3, 1, 1]
댓글