Max Min

sun202x·2022년 10월 4일
0

알고리즘

목록 보기
9/49

사이트: HackerRank
난이도: 미디움
분류: Greedy

문제

배열과 정수 k가 주어지면 k 길이의 파생 배열 안에서 min, max 값의 차이가 최소인 값을 찾아서 반환하라.

1. 나의 풀이

function maxMin(k, arr) {
    // Write your code here
    arr.sort((v1, v2) => v1 - v2);

    let result = Infinity;
    for (let i = 0; i < arr.length - (k - 1); i++) {
        result = Math.min(result, arr[i + (k - 1)] - arr[i]);
    }
    
    return result;
}

우선 주어진 배열을 정렬을 한다. 그러고 인덱스 0번째부터 마지막 인덱스 - k 까지 배열을 순회하여 파생배열의 min, max 값을 찾아 그 값의 차이가 가장 작은 값을 찾도록 하였다.

2. 다른사람의 풀이

바로 풀 수 있었던 문제들은 지금은 생략하고 추후 더 효율적인 문제 풀이법을 찾아보도록 하겠다.

profile
긍정적으로 살고 싶은 개발자

0개의 댓글