🔍문제

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


제한사항
  • 1 ≤

    1
    
    numbers
    

    의 길이 ≤ 9

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

입출력 예
numbers result
[1,2,3,4,6,7,8,0] 14
[5,8,4,0,6,7,9] 6

입출력 예 설명

입출력 예 #1

  • 5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.

입출력 예 #2

  • 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.

📝내 풀이

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <string>
#include <vector>
#include <numeric>
#include <algorithm>

using namespace std;

int solution(vector<int> numbers) {
    vector<int> table = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    vector<int> diff; 
    sort(numbers.begin(), numbers.end());
    set_difference(table.begin(), table.end(), numbers.begin(), numbers.end(), inserter(diff, diff.begin()));
    return accumulate(diff.begin(), diff.end(), 0);
}

Programmers 카테고리 내 다른 글 보러가기

댓글남기기