알고리즘/프로그래머스

나누어 떨어지는 숫자 배열

개발 공주 2023. 6. 16. 22:39
728x90

내 풀이

import java.util.Arrays;
class Solution {
    public int[] solution(int[] arr, int divisor) { 
       int count = 0;
       for (int i = 0; i < arr.length; i++) {
           if(arr[i] % divisor == 0){
               count++;
           }
       }

       if(count == 0){
           int[] answer = {-1};
           return answer;
       }else {
           int[] answer = new int[count];

           int j = 0;
           for (int i = 0; i < arr.length; i++) {
               if(arr[i] % divisor == 0){
                   answer[j] = arr[i];
                   j++;
               }
           }
           Arrays.sort(answer);
           return answer;
       }
    }
}

잘 한건지는 잘 모르겠다... 다음은 람다식으로 풀어보았다ㅎㅎ

크게 계산적인 부분에서는 어려운게 없던것 같다... 문제는 잘 한건지를 모른다... 팀원들이랑 리뷰를 해보아야겠다!

import java.util.Arrays;
class Solution {
    public int[] solution(int[] arr, int divisor) {
        int[] array = {};
        array =  Arrays.stream(arr).filter(value -> value % divisor == 0).sorted().toArray();
        if(array.length == 0){
            array = new int[]{-1};
        }
        return array;
    }
}

'알고리즘 > 프로그래머스' 카테고리의 다른 글

이상한 문자 만들기  (0) 2023.06.20
완주하지 못한 선수 ver_1  (0) 2023.06.20
내적  (0) 2023.06.16
부족한 금액 계산하기  (0) 2023.06.16
부분 문자열 인지 확인하기  (0) 2023.06.07