[LeetCode] 2389. Longest Subsequence With Limited Sum

Chobby·2025년 10월 27일
1

LeetCode

목록 보기
725/770

😎풀이

  1. nums를 오름차 순 정렬
  2. queries 순회
    2-1. 정렬된 nums 순회
    2-2. 합이 queries[i]를 초과하지 않을 경우, 수를 누적하며 카운트
    2-3. 합이 queries[i]를 초과할 경우 현재까지 카운트 된 수를 정답 배열에 추가한 후 초기화
  3. queries[i]를 만드는데 필요한 최대 길이의 Subsequence 길이 반환
function answerQueries(nums: number[], queries: number[]): number[] {
    const sorted = nums.toSorted((a, b) => a - b)
    const answer = []
    let count = 0
    let sum = 0
    for(const query of queries) {
        for(const num of sorted) {
            if(sum + num > query) break
            sum += num
            count++
        }
        answer.push(count)
        count = 0
        sum = 0
    }
    return answer
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글