0 - n 까지의 배열에서 없는 숫자를 찾아 반환하는 문제입니다.
없는 숫자는 하나이므로 주어진 nums 의 크기보다 하나 큰 boolean 배열을 선언하고 for 문을 돌며 존재하는 num 을 인덱스로 방문 처리 했습니다.
그리고 반복문을 돌며 false 인 인덱스를 찾아 반환합니다.
import java.util.*;
class Solution {
public int missingNumber(int[] nums) {
boolean[] arr = new boolean[nums.length + 1];
for(int i = 0; i < nums.length; i++) {
arr[nums[i]] = true;
}
for(int i = 0; i < arr.length; i++) {
if(!arr[i]) {
return i;
}
}
return nums.length;
}
}