알고리즘

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

개발자 박현준 2023. 2. 1. 13:52
728x90

문제 설명

정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요.

제한사항

  • 1 ≤ n ≤ 10,000
  • 1 ≤ numlist의 크기 ≤ 100
  • 1 ≤ numlist의 원소 ≤ 100,000

입출력 예

입출력 예 설명

입출력 예 #1

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

입출력 예 #2

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

입출력 예 #3

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

코드 설명


import java.util.ArrayList;
import java.util.Scanner;

public class Solution {
	public ArrayList<Integer> solution(int n, int[] numlist) {
        ArrayList<Integer> answer = new ArrayList<>(); // int[] answer = {} 에서 몇개의 배열을 저장할지 아직 몰라서 ArrayList로 바꿔서 풀었음.
        
        for (int i = 0; i < numlist.length; i++) {
        	if (numlist[i] % n == 0) { // numlist[i] 값을 % n 했을 때 0이 나오면 배수이므로 answer에 numlist[i] 값을 넣어줬음.
        		answer.add(numlist[i]);
        	}
        }
        
        return answer;
    }
	public static void main(String[] args) {
		Solution T = new Solution();
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int cnt = sc.nextInt();
		int[] numlist = new int[cnt];
		for (int i = 0; i < cnt; i++) {
			numlist[i] = sc.nextInt();
		}
		for (int x : T.solution(n, numlist)) {
			System.out.print(x + " ");
		}
		sc.close();
	}
}
728x90