본문 바로가기

코딩테스트

약수 구하기 JAVA 프로그래머스 코딩테스트

약수 구하기 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

 

728x90
300x250