JAVA STUDY/프로그래머스
프로그래머스 n의 배수 고르기 문제
GreatJang
2023. 12. 15. 21:20
배열사용 풀이
import java.util.*;
class Solution {
public int[] solution(int n, int[] numlist) {
int[] arr = new int[numlist.length]; // arr 배열 선언(길이:numlist.length)
int count = 0;
for(int i = 0; i<numlist.length; i++){ // i부터 numlist.length까지 for문
if(numlist[i]%n == 0){ // 만약 numllist원소가 n의 배수이면
arr[count] = numlist[i]; // arr[count] 위치에 numlist[i]값으로 초기화
count++; // count 1증가
}
} // 결국 numlist배열의 원소 중 n의 배수인 원소는 arr배열에 넣는다.
int[] answer = new int[count]; // answer 배열 선언(길이:count)
for(int i = 0; i<count; i++){ // i부터 count까지 for문
answer[i] = arr[i]; //
} // arr배열을 answer배열에 넣어주는 이유는 arr배열의 길이가 원소의 갯수(numlist.length)로
// 세팅되어 있기 때문에 결괏값이 크게나온다.(실제 값 제외하고 나머지는 0으로 채워져있음)
// 그렇기 때문에 answer 배열의 길이를 실제 결과 값인 count 갯수로 세팅하여 원하는 결괏값을 얻는다.
return answer;
}
}
List사용 풀이
import java.util.*;
class Solution {
public int[] solution(int n, int[] numlist) {
List<Integer> arr = new ArrayList<>();
for (int i = 0; i < numlist.length; i++) {
if (numlist[i]%n == 0){
arr.add(numlist[i]);
}
}
int[] answer = new int[arr.size()];
for(int i=0; i< arr.size(); i++){
answer[i] = arr.get(i);
}
return answer;
}
}