슈뢰딩거의 고등어

[프로그래머스] 없는 숫자 더하기 본문

알고리즘

[프로그래머스] 없는 숫자 더하기

슈뢰딩거의 고등어 2022. 2. 8. 10:54

https://programmers.co.kr/learn/courses/30/lessons/86051

 

코딩테스트 연습 - 없는 숫자 더하기

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

programmers.co.kr

#include <string>
#include <vector>

using namespace std;


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

다른 사람 코드

#include <string>
#include <vector>

using namespace std;

int solution(vector<int> numbers) {

    int answer = 45;

    for (int i = 0 ; i < numbers.size() ; i++)
        answer -= numbers[i];

    return answer;
}

0 ~ 9 의 총합을 미리 저장해놓고 들어오는 값들을 빼는 방법

숫자가 중복되어 들어오지 않는 가정하에 유용한 방법인듯하다

Comments