알고리즘, 코딩테스트/알고리즘 풀이

[프로그래머스/ 코딩테스트 월간코드챌린지 시즌3] 없는 숫자 더하기

jiyoon0000 2024. 11. 10. 22:04

Q. 없는 숫자 더하기

A. 

class Solution {
    public int solution(int[] numbers) {
        int answer = 0;
//0~9 사이의 수에서 없는 숫자를 찾는거니까 크기가 10인 배열 arr를 생성
        int[] arr = new int[10];
        
//0부터 numbers의 길이만큼 1씩 증가하면서 i 값을 배열 arr에 대입
//arr = [0,0,0,0,0,0,0,0,0,0]
//만약 값이 존재하면, 예를들어 값이 3이라고 하면 arr = [0,0,0,1,0,0,0,0,0,0] 로 바뀌게 됨
        for(int i=0; i<numbers.length; i++){
            arr[numbers[i]]++;
        }
        
//위의 for문에서 만약 값이 없어서 그대로 0이라면 numbers 배열에 없는 숫자이므로
//answer에 하나씩 더해주면 된다.
        for(int j=0; j<arr.length; j++){
            if(arr[j] == 0){
                answer += j;
            }
        }
        return answer;
    }
}