본문 바로가기
Algorithm/programmers

[프로그래머스] 약수의 개수와 덧셈 (C++)

by shine-jung 2021. 7. 23.
반응형

문제 링크

 

코딩하기 전 생각하기

/*
left부터 right까지 반복한다. (i)
    1부터 i까지 반복한다. (j)
        i를 j로 나눴을 때 나머지가 0이면
        count에 1를 더한다.
    count가 짝수이면 answer에 i을 더하고
    아니라면 answer에 i를 뺀다.
answer를 반환한다.
*/

 


 

코드

#include <bits/stdc++.h>
using namespace std;

int solution(int left, int right) {
    int answer = 0;
    for ( int i = left; i <= right; i++ ) {
        int count = 0;
        for ( int j = 1; j <= i; j++ ) {
            if ( i % j == 0 ) count++;
        }
        if ( count % 2 == 0 ) answer += i;
        else answer -= i;
    }
    return answer;
}

 


 

느낀점

 

여러모로 나머지 연산을 많이 하는 문제였다.

 

(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.

댓글 환영합니다!

반응형

댓글