코딩하는 해달이

[level 1] 약수의 합 본문

개인 공부/프로그래머스

[level 1] 약수의 합

코딩하는 해달 2022. 7. 20. 02:15

문제 설명

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

제한 사항

  • n은 0 이상 3000이하인 정수입니다.

문제 이해

n의 약수는 x * y = n이 되는 x, y이기 때문에 x, y를 구해서 더하면 된다.

 

코드 설명

1. 정수 n을 입력받는다.

2. 반복자 i, j를 선언한다.

3. i는 1부터 n까지, j는 n부터 0까지 반복하며 i * j를 구한다.

4. i * j == n을 만족하면 i를 answer에 추가한다.

 

풀이 코드

#include <string>
#include <vector>
#include <iostream>

using namespace std;

int solution(int n) {
    int answer = 0;

    for (int i = 1; i <= n; i++) {
        for (int j = n; j > 0; j--) {
            if (i * j == n) {
                answer += i;
            }
        } 
    }

    return answer;
}

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

반응형
Comments