코드문제풀이/JAVA

[자바] 없는 숫자 더하기

똥쟁이핑크 2023. 8. 18. 15:52

https://school.programmers.co.kr/learn/courses/30/lessons/86051

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제설명

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

 

제한사항

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

 

나의 문제 풀이

1) 0-9까지 들어 있는 배열 ex를 만들었다.

2) ArrayList를 사용해서 ex를 list1, number 배열은 list2에 넣었다.

3) list1 에 있는 숫자가 list2에 있을 때 지워 지도록 removeAll을 사용했다.

4) list1에 남은 수들을 for문을 돌면서 answer에 더해 주었다.

import java.util.*;
class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
		int[] ex = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
		ArrayList<Integer> list1 = new ArrayList<Integer>();
		ArrayList<Integer> list2 = new ArrayList<Integer>();

        for(int i = 0; i < ex.length; i++){
            list1.add(i, ex[i]);
        }
        
        for(int i = 0; i < numbers.length; i++){
            list2.add(i, numbers[i]);
        }

		list1.removeAll(list2);

		for (int i = 0; i < list1.size(); i++){
            answer += list1.get(i);
        }
        
        return answer;
    }
}