[프로그래머스/C++]Lv.1 - 없는 숫자 더하기

YH J·2023년 5월 14일
0

프로그래머스

목록 보기
84/168

문제 링크

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

내 풀이

numbers를 string으로 변환 ( 이 경우 1의자리 숫자가 아닌 10의 자리 숫자들이 있을경우 옳지 않다고 생각 ) 0부터 9까지 숫자중에 string에 find해서 없는 원소들만 answer에 더한다.

내 코드

#include <string>
#include <vector>

using namespace std;

int solution(vector<int> numbers) {
    int answer = 0;
    string s;
    for(const auto& n : numbers)
    {
        char c = n + '0';
        s += c;
    }
    for(char i = '0'; i <= '9'; i++)
        if(s.find(i) == string::npos)
            answer += (i - '0');
    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까지 숫자 총 합에서 numbers원소의 총 합을 뺀다.

profile
게임 개발자 지망생

0개의 댓글