Deff_Dev

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

코딩테스트/프로그래머스

[프로그래머스] 없는 숫자 더하기 (C++)

Deff_a 2024. 11. 21. 19:04

문제

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

풀이

이 문제는 주어진 0 ~ 9 까지의 숫자들 중 없는 숫자를 더하고 반환하는 문제이다.

 

주어진 숫자들을 오름차순 정렬한 뒤, 없는 숫자를 찾는다.

이때, 주어진 숫자가 8 이하 일 경우를 생각해서 9까지의 없는 숫자를 다시 한 번 찾는다.

#include <vector>
#include <algorithm>

using namespace std;

int solution(vector<int> numbers) {
    int answer = 0, curNum = 0;
    sort(numbers.begin(), numbers.end());

    for (int i = 0; i < numbers.size(); i++) {
        if (curNum != numbers[i])
        {
            answer += curNum;
            i--;
        }
        curNum++;
    }

    for (int i = curNum; i < 10; i++) answer += i;
    
    return answer;
}