약수 구하기 JAVA 프로그래머스 코딩테스트
출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr
문제 설명 : 정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.
제곱근을 구하여 접근하는 방법 Math.sqrt(); 아래 두 블로그에서 도움을 받았다!
import java.util.*;
class Solution {
public List<Integer> solution(int n) {
int sqrt = (int) Math.sqrt(n); //제곱근
List<Integer> answer = new ArrayList<>();
for(int i=1; i<=sqrt; i++){
if(n%i == 0){
answer.add(i);
if(n/i != i){
answer.add(n/i);
}
}
}
Collections.sort(answer);
return answer;
}
}
참고 :
https://woodadada16.tistory.com/24
[Java] 약수 구하기 알고리즘
약수란? 어떤 수를 나누어 나머지가 없이 떨어지게 하는 수를 약수라고 합니다. 8을 1, 2, 4, 8 로 나누면 나누어떨어집니다. 이때 1, 2, 4, 8은 8의 약수입니다. 여러분 모두 아실거라 생각합니다. Java
woodadada16.tistory.com
참고 :
https://tripleup.tistory.com/135
JAVA 프로그래머스 [약수 구하기] 자바
[프로그래머스] 코딩테스트 연습 -> 코딩테스트 입문 -> 약수 구하기 https://school.programmers.co.kr/learn/courses/30/lessons/120897 해결 과정 먼저 약수가 들어갈 배열의 크기를 정해줘야 한다. 하지만 바로는
tripleup.tistory.com