없는 숫자 더하기 [Java]

sua·2022년 12월 17일
0

문제

풀이

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
        int[] array = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
        
        for(int i = 0; i < numbers.length; i++) {
            for(int j = 0; j < array.length; j++) {
                if(j == numbers[i]) {
                    array[j] = 1;
                    break;
                }
            }
        }
        
        for(int i = 0; i < array.length; i++) {
            if(array[i] == 0) {
                answer += i;
            }
        }
        
        return answer;
    }
}

각 숫자가 numbers에 있는지 없는지 0과 1로 구분하기 위한 array 배열을 생성한다. 그런 다음 이중포문을 도는데 numbers에 대하여 for문을 돌면서 array에 대하여 이중 포문을 돈다. j(각 숫자)가 numbers의 i번째 값과 일치한다면 해당 숫자는 들어있다는 뜻이므로 array의 j번째 값을 1로 변경해준다.
그런 다음 array에 대해서 for문을 돌려서 array의 i번째 값이 0인 경우에는 numbers에서 찾을 수 없는 숫자란 뜻이므로 answer에 i(인덱스 번호이자 0부터 9까지의 숫자를 나타냄)를 더해주면 된다.

결과

profile
가보자고

0개의 댓글

관련 채용 정보