본문 바로가기
algorithm

[프로그래머스]n의 배수 고르기- java,python

by skysline 2023. 3. 8.
반응형

`n의 배수 고르기`

문제 설명

정수 n과 정수 배열 numlist가 매개변수로 주어질 때, 

numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.

입출력 예


입출력 예 #1

  • numlist에서 3의 배수만을 남긴 [6, 9, 12]를 return합니다.

입출력 예 #2

  • numlist에서 5의 배수만을 남긴 [10, 5]를 return합니다.

입출력 예 #3

  • numlist에서 12의 배수만을 남긴 [120, 600, 12, 12]를 return합니다.

java code

import java.util.ArrayList;
class Solution {
    public ArrayList<Integer> solution(int n, int[] numlist) {
        ArrayList<Integer> answer = new ArrayList<>();
        for (int i = 0; i < numlist.length; i++) {
            if (numlist[i]%n==0) answer.add(numlist[i]);
        }
        return  answer;
    }
}
  • 다른풀이
import java.util.ArrayList;
// for each
class Solution {
    public ArrayList<Integer> solution(int n, int[] numlist) {
        ArrayList<Integer> answer = new ArrayList<>();
        for(int item : numlist){
            if(item%n==0)answer.add(item);
        }
        return  answer;
    }
}

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

이 코드는 입력으로 정수 n과 정수 배열 numlist를 받아,

배열 numlist 안에서 n으로 나누어 떨어지는 수들을 찾아서 ArrayList answer에 추가하고,

그 ArrayList를 반환하는 함수입니다.

함수 내부에서는 반복문을 이용하여 배열 numlist에 있는 각각의 item에 대해서,

if문을 통해 item을 n으로 나누었을 때 나머지가 0인 경우에만 ArrayList answer에 추가 합니다.

 

python code

def solution(n, numlist):
    answer = []
    for i in numlist:
        if i%n==0:
            answer.append(i)
    return answer

 

반응형

댓글