문제 설명

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

 

제한사항

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

 

입출력 예

[1,2,3,4,6,7,8,0] 14
[5,8,4,0,6,7,9] 6

코드#1

int solution(vector<int> numbers) {
    int answer = 0;
    int check[10] = {0};
    int size = numbers.size();
    
    for(int i = 0; i < size; i++)
    {
        check[numbers[i]] = 1;
    }
    
    for(int i = 0 ; i<10; i++)
    {
        if(check[i]!=1) answer +=i;
    }
    
    return answer;
}

코드#2

#include <algorithm>

int solution(vector<int> numbers) {
    int answer = 0;
    
    for(int i = 0; i < 10; i++)
    {
        if(find(numbers.begin(),numbers.end(),i)==numbers.end()) answer+=i;
    }
    
    return answer;
}
더보기

<algorithm> 인클루드

* InputIterator find(InputIterator first, InputIterator last, const T& val);

: 범위 안 (first부터 last전 까지)의 원소들 중 val와 일치하는 첫번째 원소를 가리키는 반복자를 리턴한다.

  만일 일치하는 원소를 찾지 못할 경우 last를 리턴한다.

 

+ Recent posts