[프로그래머스/자바] 나누어 떨어지는 숫자 배열

솔솔·2023년 1월 8일
0
post-thumbnail

📑 문제 설명

array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.
divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.



🧑🏻‍💻 문제 풀이

import java.util.Arrays;

class Solution {
    public int[] solution(int[] arr, int divisor) {
        int size = 0;
        int num = 0;
        
        for(int i=0;i<arr.length;i++) {
        	if(arr[i]%divisor==0) { size++; }
        }
        
        if(size==0) {
        	int[] answer = {-1};
        	return answer;
        } else {
        	int[] answer = new int[size];
            
            for(int i=0;i<arr.length;i++) {
            	if(arr[i]%divisor==0) {
            		answer[num] = arr[i];
            		num++;
            	}
            }
            Arrays.sort(answer);
            return answer;
        }
    }
}
  1. size 변수로 answer 배열의 크기를 구함
  2. if문을 사용해 size==0 (나누어 떨어지는 수가 없음) 일 때는 -1을 반환
    그 외는 num을 이용해 answer에 0번째부터 수가 담기도록 함
  3. Arrays.sort()를 이용해 배열 정렬



🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/12910

0개의 댓글