-
[프로그래머스] 약수의 합프로그래머스 2025. 3. 13. 09:30
JAVA
문제
COhttps://school.programmers.co.kr/learn/courses/30/lessons/12928DE
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
약수의 합 구하기이다.
약수는 자기 자신을 포함한 어떤 수를 나누어떨어지게 하는 수, 프로그램상에서 입력한 수 나누어 떨어져 나머지가 0인 경우이다.
ex) 32 => 1, 2, 4, 8, 16, 32
[1, 32]
[2, 16]
[4, 8]
풀이
(어떤 프로그래밍 언어든) 0으로 나누면 0으로 나누면 안되는 예외가 발생한다.
1부터 시작하여 입력한 수까지 반복해서 나누었을때 0으로 나눈다.
for, while 문으로 시작 조건 과 끝나는 조건이 있다면 풀수 있다.
또한 시작 조건, 끝나는 조건, 함수를 종료하는 조건만 잘 하면 재귀함수로도 금방 할수 있다.
CODE
public int solution(int n) { int answer = 0; for(int i =1; i <= n; i++){ if(n % i == 0){ answer += i; } } return answer; }public int Anothersolution(int n) { int answer = 0; answer = divisor(1, n, answer); return answer; } public int divisor(int startNum, int endNum, int returnValue){ if(startNum > endNum) { return returnValue; } if(endNum % startNum == 0) { returnValue += startNum; } startNum ++; return divisor(startNum, endNum, returnValue); }'프로그래머스' 카테고리의 다른 글
[프로그래머스] 나머지가 1이 되는 수 찾기 (0) 2025.03.14 [프로그래머스] 가장 비싼 상품 구하기 (0) 2025.03.13 [프로그래머스] 나이 정보가 없는 회원 수 구하기 (0) 2025.03.12 [프로그래머스] 자리수 구하기 (0) 2025.03.12 [프로그래머스] 이름에'el'이 들어가는 동물 찾기 (0) 2025.03.11
