본문 바로가기
coding/algorithm

[programmers] Lv.1 없는 숫자 더하기(c++)

by 눈부신음표 2022. 5. 19.
728x90

*쉬워보여도 문제를 꼼꼼히 읽자*

numbers에 중복되는 숫자가 있는줄 알고 좀 복잡하게 풀었다..

 

my full code
#include <string>
#include <vector>

using namespace std;

int solution(vector<int> numbers) {
    int answer = 45;
    vector<int> elements(10);
    
    for(int num: numbers){
        if(elements[num] == 0) {
            elements[num] = 1;
            answer -= num;
        }        
    }
    return answer;
}

 


문제

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

 

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

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

programmers.co.kr

728x90

[접근]

0부터 9까지 더한 수에서 numbers에 있는 숫자를 빼줬다.

(numbers에 중복된 숫자가 있는줄 알고 중복되는 숫자를 제외하기 위해 elements라는 vector를 만들었는데 필요없다.)

int answer = 45;
vector<int> elements(10);

for(int num: numbers){
    if(elements[num] == 0) {
        elements[num] = 1;
        answer -= num;
    }        
}
728x90

댓글