반응형
2022.08.08 - [Coding Test/Python] - [프로그래머스] 없는 숫자 더하기 Python Code
2022.08.08 - [Coding Test/Go] - [프로그래머스] 없는 숫자 더하기 Go Code
저번 python, go 포스트에 이어서
프로그래머스 레벨 1 없는 숫자 더하기를 C++로 풀어보겠다.
문제
문제는 간단하게 이해할 수 있다.
[0-9]의 범위에서 numbers에 없는 숫자를 찾아서 더하면 된다.
구현 방식
이번에도 0-9의 총합 45에서 numbers의 총합을 빼도록 구현했다.
코드
#include <string>
#include <vector>
using namespace std;
int solution(vector<int> numbers) {
int sum = 0;
for (int i = 0 ; i < numbers.size() ; i++)
sum += numbers[i];
return 45-sum;
}
다른 사람의 풀이에서 괜찮은 풀이를 봤다.
#include <bits/stdc++.h>
using namespace std;
int solution(vector<int> numbers) {
return 45 - accumulate(numbers.begin(), numbers.end(), 0);
}
C++ accumulate의 doc은 다음 링크에서 확인해볼 수 있다.
https://en.cppreference.com/w/cpp/algorithm/accumulate
기본적으로는 누산기의 역할을 하는 것으로 이해할 수 있다.
벡터의 덧셈, 곱셈 등의 누산기의 기능을 모두 할 수 있는 것으로 보인다.
다만 조심해야 할 것은 init value랑 리턴 값이 같기에
초기 값을 잘 설정해야 overflow가 나지 않을 것으로 보인다.
다음엔 javascript로 풀어보겠다.
반응형
'Coding Test > C++' 카테고리의 다른 글
[프로그래머스] 체육복 C++ Code (0) | 2022.08.10 |
---|---|
[프로그래머스] 예산 C++ Code (0) | 2022.08.10 |
[프로그래머스] 소수 만들기 C++ Code (0) | 2022.08.04 |
[프로그래머스] 내적 C++ Code (0) | 2022.07.29 |
[프로그래머스] 폰켓몬 C++ Code (0) | 2022.07.29 |
댓글