입력받은 정수의 약수를 구해서 전부 더하는 값을 출력하는 문제이다.
약수는 나눠서 나머지가 0이 되는 값이다. i를 1부터 n까지 반복하면서 나눠주는데, 나머지가 0이 되는 조건을 걸어 약수를 벡터에 넣어준다.
다음, 벡터의 크기만큼 약수들을 더해주면 된다.
#include <string>
#include <vector>
using namespace std;
int solution(int n) {
int answer = 0;
vector<int> v;
for(int i = 1; i <= n; i++){
if(n%i == 0){
v.push_back(i);
}
}
for(int j = 0; j < v.size(); j++){
answer = answer + v[j];
}
return answer;
}