Q. 나누어 떨어지는 숫자 배열
A.
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
//나누어 떨어지는 수를 찾아서 오름차순 정렬을 해야하니까 list를 만들어서 값을 저장하기
ArrayList<Integer> answerList = new ArrayList<>();
//배열 요소를 하나씩 검사하며 나누어 떨어지는 수를 리스트에 추가
for(int i : arr){
if(i % divisor == 0){
answerList.add(i);
}
}
//나누어 떨어지는 수가 없다면 = 리스트에 저장된 값이 없다면 -> isEmpty
//-1을 반환
//new int[] 로 새로운 배열을 만든 후 {-1}을 하여 값이 -1 하나인 배열을 만든다.
if(answerList.isEmpty()){
return new int[] {-1};
}else{
//리스트가 빈 것이 아니라면 = 나누어 떨어지는 수가 있다면 -> 오름차순 정렬
Collections.sort(answerList);
//ArrayList를 다시 배열로 변환
int[] answer = new int[answerList.size()];
//answerList에 있는 값을 하나씩 answer 배열에 넣어줌
for(int i=0; i<answerList.size();i++){
answer[i] = answerList.get(i);
}
return answer;
}
}
}
'알고리즘, 코딩테스트 > 알고리즘 풀이' 카테고리의 다른 글
[프로그래머스/ 코딩테스트 연습문제] 핸드폰 번호 가리기 (0) | 2024.11.06 |
---|---|
[프로그래머스/ 코딩테스트 월간코드챌린지 시즌2] 음양 더하기 (0) | 2024.11.05 |
[프로그래머스/ 코딩테스트 연습문제] 서울에서 김서방 찾기 (0) | 2024.11.04 |
[프로그래머스/ 코딩테스트 연습문제] 콜라츠 추측 (0) | 2024.11.04 |
[프로그래머스/ 코딩테스트 연습문제] 두 정수 사이의 합 (0) | 2024.11.01 |