본문 바로가기

프로그래머스(Java)/Level 0

[프로그래머스] 약수 구하기

728x90

코드 설명

  1. 리스트 초기화
    • 약수를 저장하기 위해 리스트를 초기화합니다.
  2. 반복문을 통해 1부터 n까지 순회
    • 1부터 n까지의 모든 수를 확인합니다. 
  3. 약수 확인
    • n % i == 0 조건을 통해 i가 n의 약수인지 확인합니다.
    • i가 n의 약수라면 리스트에 추가합니다.
  4. 리스트를 배열로 변환
    • 리스트의 크기만큼의 배열을 초기화합니다.
    • 리스트의 요소를 배열로 복사합니다.
  5. 배열 반환
    • 약수 배열을 반환합니다.

코드 힌트

  • 리스트 사용 이유: 리스트는 크기가 동적으로 변할 수 있어 약수를 저장하기에 적합합니다.
  • 반복문과 조건문: 반복문을 사용하여 모든 수를 순회하고, 조건문을 통해 약수인지 확인합니다.
  • 배열 변환: 최종적으로 리스트를 배열로 변환하여 반환합니다.

 


정답은 더보기 클릭

더보기
더보기
import java.util.*;

class Solution {
    public int[] solution(int n) {
        // 약수를 저장할 리스트를 초기화합니다.
        List<Integer> list = new ArrayList<>();
        
        // 1부터 n까지 모든 수를 확인합니다.
        for (int i = 1; i <= n; i++) {
            // i가 n의 약수인지 확인합니다.
            if (n % i == 0) {
                // i가 약수라면 리스트에 추가합니다.
                list.add(i);
            }
        }
        
        // 리스트의 크기만큼의 배열을 초기화합니다.
        int[] result = new int[list.size()];
        
        // 리스트의 요소를 배열로 복사합니다.
        for (int i = 0; i < result.length; i++) {
            result[i] = list.get(i);
        }
        
        // 약수 배열을 반환합니다.
        return result;
    }
}
728x90