알고리즘, 자료구조/Codility

[Javascript] Codility Lesson 4 - MissingInteger

jaee 2021. 11. 22. 23:54

문제: https://app.codility.com/programmers/lessons/4-counting_elements/missing_integer/

 

문제요약: 

  • N개의 요소를 갖는 배열A가 주어짐
  • 배열 A의 요소 범위는 -100,000 ~ 100,000 
  • 배열 A의 요소에 미포함된 자연수 중 최솟값 찾기
function solution(A) {
    A.sort((a, b) => a - b);
    let min = 1;

    if (A[A.length - 1] < 0) {
        return min;
    };

    for(let i = 0; i < A.length; i++) {
        if (A[i] < 0) {
            continue;
        }
        if (A[i] > min) {
            break;
        };
        min = A[i] + 1;
    };

    return min;
}

https://app.codility.com

배열 요소 모두 음수라면 따로 연산 필요없이 1을 반환하면 된다. 그 외에는 배열을 오름차순 정렬한 후 차례대로 min 값과 비교하면 된다. (다만 음수는 pass).