Note
'배열의 길이는 바꿀 수 없다.'는 알고 있었지만
배열 길이를 먼저 알아내고 선언하면 된다는 생각을 해내는데에 시간이 걸렸다.
Key
- 배열의 전체 길이를 먼저 파악하고 선언하기
Arrays.sort(answer);
제출 코드
import java.util.*;
class Solution {
public int[] solution(int[] arr, int divisor) {
int leng = 0; // answer의 길이
int n = 0;
//answer[] 길이 찾기
for(int i = 0 ; i < arr.length ; i++ ){
if(arr[i] % divisor == 0){
leng++;
}
}
//길이가 0이면 -1
if(leng == 0){
int[] answer = {-1};
return answer;
}
//leng 만큼의 길이인 배열 선언
int[] answer = new int[leng];
//arr가 나눠지면 answer에 담는다
for(int i = 0; i < arr.length ; i++){
if(arr[i] % divisor == 0){
answer[n] = arr[i];
n++;
}
}
//arr[] sorting하기
Arrays.sort(answer);
//출력 확인하기 위한 코드
System.out.println(Arrays.toString(answer));
System.out.println(leng);
return answer;
}
}
반응형
'Java > 알고리즘' 카테고리의 다른 글
프로그래머스lv.2 최댓값과 최솟값.java - .split(); Integer.parseInt(); Arrays.sort(); (0) | 2024.03.11 |
---|---|
프로그래머스/자바 lv.1 문자열 내 p와 y의 개수 - charAt(), toLowerCase(), toUpperCase() (0) | 2024.03.10 |
[Java] 프로그래머스 lv.1 약수의 합 - 루프 절반만 돌리기 (4) | 2024.03.06 |