알고리즘
[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