프로그래머스 - 약수의 개수와 덧셈

Sorbet·2021년 6월 12일
0
import java.util.HashSet;
import java.util.Set;

import static java.lang.System.out;

class Solution {
    public int solution(int left, int right) {
        int answer = 0;

        Set<Integer> divs = new HashSet<>();
        for (int i = left; i <= right; i++) {
            divs = getDivArray(i);

            if (divs.size() % 2 == 0) {
                answer += i;
            } else {
                answer -= i;
            }
        }

        return answer;
    }

    private Set<Integer> getDivArray(int tar) {
        Set<Integer> divs = new HashSet<>();
        for (int i = 1; i <= tar; i++) {
            if (tar % i == 0) {
                divs.add(i);
                divs.add(tar / i);
            }
        }
        return divs;
    }

    public static void main(String[] args) {
        Solution s = new Solution();
        out.println(43 == s.solution(13, 17));
        out.println(52 == s.solution(24, 27));

    }

}
profile
Sorbet is good...!

0개의 댓글