PRACTICE/JAVA

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

j1ngerhead 2024. 9. 18. 01:13

 

문제 링크

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

import java.util.ArrayList;

class Solution {
    public int[] solution(int n, int[] numlist) {
        // ArrayList를 사용하여 동적으로 값을 추가
        ArrayList<Integer> list = new ArrayList<>();
        
        // numlist 배열을 순회하며 n의 배수를 ArrayList에 추가
        for (int i = 0; i < numlist.length; i++) {
            if (numlist[i] % n == 0) {
                list.add(numlist[i]);
            }
        }
        
        // ArrayList를 int[] 배열로 변환
        int[] answer = new int[list.size()];
        for (int i = 0; i < list.size(); i++) {
            answer[i] = list.get(i);
        }
        
        return answer;
    }
}

 

스트림 활용한 풀이

import java.util.Arrays;

class Solution {
    public int[] solution(int n, int[] numlist) {
        return Arrays.stream(numlist)
                     .filter(num -> num % n == 0)
                     .toArray();
    }
}

Arrays.stream()을 사용해서 배열 → 스트림으로 변환 + filter()로 n의 배수만 남긴 후 toArray()로 다시 배열로 변환한다.

320x100