-
프로그래머스 - 약수의 합알고리즘 2022. 5. 14.반응형
내 풀이
public class P_17 { public int sol(int n) { // 약수의 합 int ans = 0; for(int i=1; i<=n; i++) { if(n % i != 0) { continue; } ans += i; } return ans; } public static void main(String[] args) { P_17 p = new P_17(); int x = 12; System.out.println(p.sol(x)); } }
나머지를 구하면 약수는 무조건 0이 나온다.
그러나 아무래도 뺄 수 있는 코드는 빼고 간략하게 고치는게 낫겠다.
public class P_17 { public int sol(int n) { // 약수의 합 int ans = 0; for(int i=1; i<=n; i++) { if(n % i == 0) { ans += i; } } return ans; } public static void main(String[] args) { P_17 p = new P_17(); int x = 12; System.out.println(p.sol(x)); } }
다른 사람 풀이
class SumDivisor { public int sumDivisor(int num) { int answer = 0; for(int i = 1; i <= num/2; i++){ if(num%i == 0) answer += i; } return answer+num; } // 아래는 테스트로 출력해 보기 위한 코드입니다. public static void main(String[] args) { SumDivisor c = new SumDivisor(); System.out.println(c.sumDivisor(12)); } }
반응형'알고리즘' 카테고리의 다른 글
프로그래머스 - 문자열을 정수로 바꾸기 (0) 2022.05.29 프로그래머스 - 시저 암호 (0) 2022.05.27 프로그래머스 - 이상한 문자 만들기 (0) 2022.05.05 프로그래머스 - 자릿수 더하기 (0) 2022.04.26 프로그래머스 - 자연수 뒤집어 배열로 만들기 (0) 2022.04.25