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
5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.
입출력 예 #2
1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.
public class SumDoNotExistNum {
// 정수의 객체를 가지는 배열을 매게변수고 받고, 정수를 리턴값으로 돌려주는 메소드
public int solution1(int[] numbers) {
// 'answer'값을 정수로 선언
int answer = 0;
// 반복문을 이용하여 배열 'numbers'에 있는 숫자들을
for(int i = 0; i < numbers.length; i ++) {
//'answer'에 더해줌
answer += numbers[i];
}
// 1부터 9까지의 합은 45이기 때문에 45에서 'answer'의 값을 빼주면
// 배열에 없는 숫자의 합이 나옴
return 45 - answer;
}
public int solution2(int[] numbers) {
// 정수 'sum'을 45로 선언
int sum = 45;
// 배열 'numbers'에 있는 숫자들을 더한 후
for (int i : numbers) {
// 'sum'에 해당 합을 빼줌
sum -= i;
}
return sum;
}
public int solution3(int[] numbers) {
// 위의 '발전된 정답'을 한 줄로 표현하면 아래와 같이 나옴
// 배열에 있는 숫자들의 합을 구한 뒤 해당 값을 45에서 빼줌
return 45-Arrays.stream(numbers).sum();
}
public static void main(String[] args) {
SumDoNotExistNum sumdonotexistnum = new SumDoNotExistNum();
int[] numbers1 = {1,2,3,4,6,7,8,0};
int[] numbers2 = {5,8,4,0,6,7,9};
System.out.println(sumdonotexistnum.solution1(numbers1)); // 14 출력
System.out.println(sumdonotexistnum.solution1(numbers2)); // 6 출력
System.out.println(sumdonotexistnum.solution2(numbers1)); // 14 출력
System.out.println(sumdonotexistnum.solution2(numbers2)); // 6 출력
}
}