본문 바로가기
Algorithm/Programmers

[프로그래머스] n의 배수 고르기

by _silver 2025. 3. 8.


문제 1.  n의 배수 고르기
☑️ 문제 바로 풀기 클릭

 

나의 문제 풀이
import java.util.ArrayList;
import java.util.List;

class Solution {
    public int[] solution(int n, int[] numlist) {
        
        // n의 배수를 저장할 리스트 생성(담을 그릇 준비하기)
        List<Integer> list = new ArrayList<>();
        
        // numlist의 값들을 리스트에 추가
        for(int i = 0; i < numlist.length; i++) {
            if(numlist[i] % n == 0)     // n의 배수인지 확인
            list.add(numlist[i]);       // n의 배수만 추가
        }
        
        // List<Integer>를 int[]로 변환하기
        int[] answer = new int[list.size()];
        
        // 리스트 값을 배열에 복사하기
        for(int i = 0; i < list.size(); i++) {
            answer[i] = list.get(i);
        }
        
        return answer;
    }
}
코드 설명

1. (담을 그릇 준비하기) n의 배수를 저장할 리스트를 생성한다.

2. 배열을 처음부터 끝까지 반복하면서 숫자를 확인한다.

3. numlist[i] 인덱스에 있는 숫자가 n의 배수인지 확인한다

 - 0으로 나머지가 떨어지면 된다!

4. n의 배수가 맞다면 numlist[i] 에 하나씩, 하나씩 넣는다.

 - 숫자를 리스트에 추가(add) 한다.

5. 리스트 크기만큼 새로운 int[] 배열을 생성한다.

6. 리스트에 저장된 값을 새로운 배열에 복사한다.

7. n의 배수만 담긴 배열을 반환한다.