없는 숫자 더하기

문제

0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ numbers의 길이 ≤ 9
  • 0 ≤ numbers의 모든 원소 ≤ 9
  • numbers의 모든 원소는 서로 다릅니다.

입출력 예

numbers result
[1,2,3,4,6,7,8,0] 14
[5,8,4,0,6,7,9] 6

답안

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.util.*;

class Solution {
public int solution(int[] numbers) {
int answer = 0;
Arrays.sort(numbers); // 정렬

// 1~9까지 돌아가면서 해당 요소 있는지 확인
for(int i = 1; i < 10; i++){
if(!contains(numbers, i)){
answer += i;
}
}

return answer;
}

// 해당 숫자가 들어있는지 확인
public static boolean contains(final int[] arr, final int key) { //
return Arrays.stream(arr).anyMatch(i -> i == key);
}
}