[Codility Lessons] 3. Time Complexity - PermMissingElem

doongdoong·2020년 10월 9일

Codility Lessons

목록 보기
5/5

https://app.codility.com/programmers/lessons/3-time_complexity/perm_missing_elem/

풀이

  • 예상되는 누락값 까지 포함하는 정확한 순열의 배열을 생성하고 비교한다.
    • 길이는 A.length + 1, 배열 값의 범위는 1 ~ (배열 길이+1) 으로 B를 생성한다.
    • B를 기준으로 A와 비교하고 다른 요소가 나오면 B의 값을 반환한다.
function solution(A) {
    if( A.length === 0 ) {
        return 1;
    }
    
    A.sort((a, b) => a - b);
    const B = Array(A.length + 1).fill(0).map((_, index) => index + 1);
    
    for(let i = 0; i < B.length; i += 1) {
        if (B[i] !== A[i]) {
            return B[i];
        }
    }
}
profile
PS 연습장

0개의 댓글