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

haeun·2024년 3월 31일
0

Algorithm

목록 보기
3/3

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



👉 Approach

주어지는 n에 나누어 떨어지는 배수값을 int 배열로 반환하는 크게 어렵지않은 문제입니다.
stream을 사용해 코드를 단순화하여 작성하는 방법과 배열을 직접 반복해 stream의 오버헤드 없이 연산하는 방법을 통해 풀어보았습니다.



✔️ code

import java.util.Arrays;

class Solution {
    public int[] solution(int n, int[] numlist) {
        // 배열값 중 0으로 나누어 떨어지는 값을 반환 
        return Arrays.stream(numlist).filter(i -> i % n == 0).toArray();       
    }
}
import java.util.Arrays;

class Solution {
    public int[] solution(int n, int[] numlist) {
        // 결과 배열의 크기 계산
        int count = 0;
        for (int num : numlist) {
            if (num % n == 0) {
                count++;
            }
        }

        // 결과 배열 생성 및 값 채워 넣기
        int[] answer = new int[count];
        int index = 0;
        for (int num : numlist) {
            if (num % n == 0) {
                answer[index++] = num;
            }
        }

        return answer;
    }
}




Arrays 클래스의 stream()에 대해 다음 포스팅에서 알아보겠습니다.







profile
환영합니다 :) 이 곳은 개인 공부를 정리하고 창의적으로 활용하기 위한 제 2의 전두엽으로 활용되고 있으며, 오류에 대한 피드백은 댓글로 남겨주시면 감사하겠습니다.

0개의 댓글