본문 바로가기

Algorithm/Python

[Python] 숫자 리스트에서 2번째, K번째 최댓값 구하기

1. 두번째 최댓값 구하기

def second_largest_number(arr):
    eigen_nums = set(arr)
    sorted_nums = sorted(eigen_nums, reverse=True)
    return sorted_nums[1]

 

중복을 허용하지 않기 때문에 함수의 첫번째 줄에서 정렬을 하기 전에 고유값만 남기도록 코드를 작성하였다.

그리고 정렬을 내림차순으로 진행하고 2번째 값을 반환하면 된다!

2. K번째 최댓값 구하기 

def kth_largest_number(arr, K):
    eigen_nums = set(arr)
    sorted_nums = sorted(eigen_nums, reverse=True)
    return sorted_nums[K-1]

 

두번째 최댓값을 구할때는 1을 인덱스를 반환했었는데 대신 K-1번째 값을 반환하면 된다.