https://school.programmers.co.kr/learn/courses/30/lessons/12910
첫 번째 답 :
class Solution {
public int[] solution(int[] arr, int divisor) {
ArrayList<Integer> integerAnswer = new ArrayList<>();
for (int i : arr) {
if (i % divisor == 0) {
integerAnswer.add(i);
} else {
return new int[]{-1};
}
}
Collections.sort(integerAnswer);
int[] answer = new int[integerAnswer.size()];
for (int i=0; i<integerAnswer.size(); i++) {
answer[i] = integerAnswer.get(i);
}
return answer;
}
}
정답 :
더보기
class Solution {
public int[] solution(int[] arr, int divisor) {
ArrayList<Integer> integerAnswer = new ArrayList<>();
for (int i : arr) {
if (i % divisor == 0) {
integerAnswer.add(i);
}
}
if (integerAnswer.isEmpty()) {
return new int[]{-1};
}
Collections.sort(integerAnswer);
int[] answer = new int[integerAnswer.size()];
for (int i=0; i<integerAnswer.size(); i++) {
answer[i] = integerAnswer.get(i);
}
return answer;
}
}
첫 번째 답에서 else {} 부분이 삭제되고 if(integerAnswer.isEmpty()) {} 추가됐습니다.
첫 번째 답처럼 하면 else 부분 진입 시 바로 {-1} 을 반환하기 때문에 문제의 조건에 맞지 않습니다.....
'문제 풀이 > 프로그래머스 알고리즘' 카테고리의 다른 글
제일 작은 수 제거하기 // ArrayList.remove() 메서드 + 기본 타입 , 래퍼 클래스 (2) | 2024.10.01 |
---|---|
핸드폰 번호 가리기 (0) | 2024.09.30 |
정수 내림차순으로 배치하기 // 반복문 안에서 collection 의 크기가 변경될 때 생기는 문제 (0) | 2024.09.27 |
정수 제곱근 판별 (0) | 2024.09.26 |
프로그래머스) 햐샤드 수 - 재귀 함수, 재귀 메서드 (0) | 2024.09.25 |