ෆ ⋆ ₊ ゚ ☽ * ₊ ⋆

프로그래머스/Java

약수 구하기

우당탕가윤 2023. 1. 5. 22:42

https://school.programmers.co.kr/learn/courses/30/lessons/120897

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr


■ 문제 설명

정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요.

 

■ 제한사항

  • 1 ≤ n ≤ 10,000

■ 나의 코드

class Solution {
    public int[] solution(int n) {
        int ary[] = new int[10000];
        int idx = 0;
        
        for(int i=1; i<=n; i++) {
            if(n%i == 0) {
                ary[idx] = i;
                idx++;
            }
        }
        
        int answer[] = new int[idx];
        for(int i=0; i<idx; i++) {
            if(ary[i] != 0)
                answer[i] = ary[i];
        }
        return answer;
    }
}

 

■ 코드 해설

n을 i로 나누었을 때 나머지가 0이면 약수가 됩니다. idx는 배열의 범위 및 순서를 저장하기 위한 용도로 사용했습니다.


아직 C언어 동적 할당이 어려워서 자바로 풀어보았습니다. C언어 공부를 조금 더 해서 C언어로 다시 이 문제를 풀어보고 싶습니다 !!

'프로그래머스 > Java' 카테고리의 다른 글

팩토리얼  (0) 2023.01.26
A로 B 만들기  (1) 2023.01.26
배열의 유사도  (0) 2023.01.13
문자열안에 문자열  (0) 2023.01.12
n의 배수 고르기  (0) 2023.01.11