[LeetCode] 2099. Find Subsequence of Length K With the Largest Sum

Chobby·5일 전
1

LeetCode

목록 보기
667/710

😎풀이

  1. nums를 인덱스를 포함한 배열로 변환
  2. 가장 큰 숫자를 얻기 위해 숫자를 기준으로 내림차 순 정렬
  3. 가장 큰 수부터 k개의 수만 따로 정의
  4. 원본 인덱스 기준 오름차 순 정렬
  5. 최종적으로 값만 반환
function maxSubsequence(nums: number[], k: number): number[] {
    const valueWithIdx = nums.map((num, i) => [num, i])
    const sorted = valueWithIdx.toSorted((a, b) => b[0] - a[0])
    const maxSubSeq = []
    for(let i = 0; i < k; i++) {
        maxSubSeq.push(sorted[i])
    }
    const maxSubSeqSorted = maxSubSeq.toSorted((a, b) => a[1] - b[1])
    return maxSubSeqSorted.map(a => a[0])
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글