코딩테스트/프로그래머스
[프로그래머스] 없는 숫자 더하기 (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;
}