Question
https://school.programmers.co.kr/learn/courses/30/lessons/12910
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
Algorithm
- for문을 사용해 arr의 배열을 순회하며, 주어진 divisor로 나누어 떨어지는 값을 찾는다.
- 나누어 떨어지는 값이 없는 경우 -1을 반환한다.
- divisor로 나누어 떨어진 값들을 오름차순 정렬하여, 최종 결과를 return 한다.
❗️두 번째 반복문을 생각하는 로직이 조금 헷갈렸다.
Code
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr, int divisor) {
int count = 0; // divisor로 나누어 떨어지는 요소의 개수를 세기 위한 변수
// 첫 번째 반복문: 나누어 떨어지는 숫자의 개수 세기
for(int i = 0; i < arr.length; i++) {
if(arr[i] % divisor == 0) { // 나누어 떨어지는 경우
count++; // 개수 증가
}
}
if(count == 0) {
// 나누어 떨어지는 숫자가 없을 경우, -1을 원소로 가지는 배열 반환
return new int[] {-1};
}
// 결과 배열 선언 (크기는 나누어 떨어지는 숫자의 개수만큼)
int[] answer = new int[count];
int index = 0; // answer 배열에 값을 넣기 위한 인덱스
// 두 번째 반복문: 실제로 나누어 떨어지는 숫자를 answer 배열에 담음
for (int i = 0; i < arr.length; i++) {
if (arr[i] % divisor == 0) { // 나누어 떨어지면
answer[index++] = arr[i]; // 배열에 저장하고 인덱스 증가
}
}
// 결과 배열을 오름차순으로 정렬
Arrays.sort(answer);
return answer;
}
}
출처
https://sigfriede.tistory.com/91
[프로그래머스 코딩테스트] 나누어 떨어지는 숫자 배열(Java)
문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담
sigfriede.tistory.com
https://goodmorning-sun.tistory.com/30
[프로그래머스] 나누어 떨어지는 숫자 배열 - Jav
나누어 떨어지는 숫자 배열 - Java Description array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element
goodmorning-sun.tistory.com
'Coding Test > [프로그래머스] Java' 카테고리의 다른 글
[프로그래머스 / Java] Lv.1 제일 작은 수 제거하기 (1) | 2025.06.28 |
---|---|
[프로그래머스 / Java] Lv.1 콜라츠 추측 (0) | 2025.06.25 |
[프로그래머스 / Java] Lv.1 서울에서 김서방 찾기 (0) | 2025.06.21 |
[프로그래머스 / Java] Lv.2 연속 부분 수열 합의 개수 (0) | 2025.06.17 |
[프로그래머스 / Java] Lv.1 없는 숫자 더하기 (0) | 2025.06.16 |