728x90
반응형
✔ 방법1
import java.util.Arrays;
class Solution {
public int[] solution(int n, int[] numList) {
return Arrays.stream(numList).filter(v -> v % n == 0).toArray();
}
}
1. Arrays를 임포트 해주기
2. .stream(numlist) 에서 뽑겠다.
3. .filter(v -> v % n == 0) 필터를 이용하여 조건에 맞는걸 뽑겠다. 조건은 n으로 나눈 경우 0
4. .toArray() - List 컨테이너의 인스턴스를 배열(array)로 만드는것이 'toArray' 메서드
###
new ArrayList<>() - 컬렉션 생성 시, 새로운 주소값으로 할당하기 위한 용도
new ArrayList<>()는 할 수 있고, Arrays.asList() 할 수 없다
Arrays.asList()는 고정된 List다. List 원소를 추가 할 수도, 삭제할 수도 없다.
✔ 방법2
class Solution {
public int[] solution(int n, int[] numlist) {
int count = 0;
for(int i=0; i<numlist.length; i++) {
if(numlist[i]%n==0){
count++;
}
}
int[] answer = new int[count];
int index=0;
for(int i=0; i<numlist.length; i++) {
if(numlist[i]%n==0){
answer[index]=numlist[i];
index++;
}
}
return answer;
}
}
1. numlist의 길이만큼 반복을 하고
2. n으로 나눈 나머지가 0인 것 만큼 카운트 +하고
3. 그 만큼의 배열을 새로 만든다.
4. 다시 numlist의 길이만큼 반복을 하고
5. n으로 나눈 나머지가 0인 것을 새로 만든 배열에 순서데로 넣어준다.
6. 조건을 만족하면 새 배열의 index를 한칸땅겨 반복하여 조건을 만족하는 것을 배열에 추가하여 값을 도출한다.
반응형
'취업 및 이직 준비 > 코딩테스트 준비' 카테고리의 다른 글
프로그래머스 자바 (옹알이1) 코딩테스트 문제 (0) | 2023.03.21 |
---|---|
프로그래머스 자바 (배열의 유사도) 코딩테스트 문제 (0) | 2023.03.20 |
프로그래머스 자바 (다음에 올 수) 코딩테스트 문제 (0) | 2023.03.18 |
백준 Python 1302번 (베스트셀러) (0) | 2023.02.19 |
백준 - Python 1543번 문제 (문서 검색) (0) | 2023.02.19 |