😎풀이

  1. nums 순회
    1-1. 0과의 근접도 계산
    1-2. 최소 근접 값 비교
    1-3. 근접도가 동일할 경우 최대 수로 갱신
    1-4. 최소 근접 값으로 갱신
  2. 가장 0과 근접하며, 가장 큰 수 반환
function findClosestNumber(nums: number[]): number {
    let minGap = Infinity
    let maxVal = -Infinity
    for(const num of nums) {
        const abs = Math.abs(num)
        if(abs > minGap) continue
        if(minGap === abs) {
            maxVal = Math.max(maxVal, num)
            continue
        }
        minGap = abs
        maxVal = num
    }
    return maxVal
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글