Programmers Level1 문제
연습문제 : 나누어 떨어지는 숫자 배열
사용 언어 : JAVA
ArrayList와 sort()를 이용해 쉽게 해결한 문제
문제
programmers.co.kr/learn/courses/30/lessons/12910
손코딩
풀이
ArrayList와 sort를 이용하여 쉽게 해결한 문제이다.
연산을 통해 나누어 떨어지는 숫자가 없어서 answer배열에 아무런 요소가 추가가 되지 않았을 때, -1을 넣어주는 것과
결과를 오름차순으로 나타내기 위해 정렬해주는 조건만 잘 처리해준다면 쉽게 풀 수 있는 문제인 것 같다.
전체 소스 코드
import java.util.*;
class Solution {
public static ArrayList<Integer> solution(int[] arr, int divisor) {
ArrayList<Integer> answer = new ArrayList<Integer>();
// arr 정렬
Arrays.sort(arr);
// arr배열 내 요소를 차례로 꺼내 divisor와 나머지를 구함
for(int i=0; i<arr.length; i++) {
// 만약 나머지가 0이면
if((arr[i]%divisor) == 0) {
//answer 리스트에 저장
answer.add(arr[i]);
}
}
// 만약 answer의 크기가 0이면
if(answer.size() == 0) {
// -1를 리스트에 저장
answer.add(-1);
}
return answer;
}
}
느낀 점
다른 분의 풀이를 보니 lamda식으로 푸셨던데...
lamda식 쓸 줄만 알면 진짜 편해보인다...
공부 해보고싶은데 취업 준비에 연말에 이것저것 할 게 많아서 정신이 없다 ㅠㅠ