[LeetCode] 2465. Number of Distinct Averages

Chobby·2025년 10월 30일

LeetCode

목록 보기
740/826

😎풀이

  1. nums 순회
    1-1. 최댓값 확인
    1-2. 최솟값 확인
    1-3. 원본 배열에서 두 요소를 제거
    1-4. 제거된 두 요소의 평균 값을 기록
  2. 고유한 평균 값의 수 반환
function distinctAverages(nums: number[]): number {
    const set = new Set()
    let remain = [...nums]
    while(remain.length) {
        const max = Math.max(...remain)
        const min = Math.min(...remain)
        const maxIdx = remain.indexOf(max)
        const minIdx = remain.indexOf(min)
        const removed = []
        for(let i = 0; i < remain.length; i++)  {
            if(i === maxIdx) continue
            if(i === minIdx) continue
            removed.push(remain[i])
        }
        remain = [...removed]
        set.add((min + max) / 2)
    }
    return set.size
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글