개발/자료구조, 알고리즘

[코딩 테스트] 프로그래머스 연습 문제 - 없는 숫자 더하기

growing-dev 2023. 5. 22. 14:11

프로그래머스 연습문제 중 하나인 없는 숫자 더하기 문제를 풀어보았습니다.

 

 

프로그래머스 연습 문제 - 없는 숫자 더하기

 

 

 

 문제 설명

 

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

 

 

 

 제한 사항

 

numbers는 1~9까지. numbers의 원소는 0~9까지. 모든 원소는 다릅니다.

 

 

 입출력 

 

1,2,3,4,6,7,8,0 -> 14

5와 9가 없으므로 5 + 9 = 14

 

5,8,4,0,6,7,9 -> 6

1,2,3 이 없으므로 1 + 2 + 3 = 6

 

 

 코드

 

코드는 매우 간단합니다.

local 변수 arr를 하나 만들고 입력받은 numbers에 있는 숫자를 index로 생각하여 check 배열을 만듭니다.

check 배열을 순회하면서 1이 아니라면 answer에 더해서 return 합니다.

 

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

// numbers_len은 배열 numbers의 길이입니다.
int solution(int numbers[], size_t numbers_len) {
    int answer = 0;
    int arr[10] = {0,};
    for(int i=0;i<numbers_len;i++){
        arr[numbers[i]] = 1;
    }
    for(int i=0;i<10;i++){
        if(arr[i] ==0) answer += i;
    }
    
    return answer;
}

 

 

 결론

 

매우 간단한 문제입니다. 만약 숫자가 늘어난다면 다른 효과적인 방법을 생각해 내야 할 것 같습니다.

 

 

반응형