본문 바로가기
개발일지/코딩테스트

[Programmers] 약수의 합(c++)

by 쫌눈 2025. 3. 28.
728x90
반응형

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

 

프로그래머스

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

programmers.co.kr

약수는 나눈 나머지가 0이 되는 수다.

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(int n) {
    int answer = 0;
vector<int> t = {};
for (int i = 1; i <= n; i++)
{
    if (n%i == 0)
    {
        auto iter = find(t.begin(), t.end(), i);
        if (iter != t.end())
        {
            break;
        }
        answer += i;
        t.emplace_back(i);
        int a = n / i;
        if (a != 0)
        {
            iter = find(t.begin(), t.end(), a);
            if (iter != t.end())
            {
                break;
            }
            answer += a;
            t.emplace_back(a);
        }
    }
}
return answer;
}

728x90
반응형