Codility Java MissingInteger

업데이트:

문제

Link

코드

// you can also use imports, for example:
// import java.util.*;

// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");

import java.util.Set;
import java.util.HashSet;

class Solution {
  public int solution(int[] A) {
    Set<Integer> numSet = new HashSet<>();
    for (int num : A) {
      if (num > 0) { // Greater than 0.
        numSet.add(num);
      }
    }
    for (int idx = 1; idx <= Integer.MAX_VALUE; idx++) {
      if (!numSet.contains(idx)) {
        return idx;
      }
    }
    return 1;
  }
}

설명

  1. 누락된 숫자를 파악하기 위해 중복을 제거한 Set을 사용하여 numSet을 정의한다.
  2. 배열 A를 반복하여 양수만 numSet에 추가한다.
  3. 1부터 1씩 증가하며 numSet에 포함되어있는지 확인하고, 없을 경우 주어진 문제의 결과로 반환한다.

결과

Link

소스

Sample Code는 여기에서 확인 가능합니다.

댓글남기기