https://school.programmers.co.kr/learn/courses/30/lessons/120905
class Solution {
public int[] solution(int n, int[] numlist) {
int[] arr = new int[numlist.length];
int num = 0;
for(int i =0; i<numlist.length;i++){
if(numlist[i]%n==0){
arr[num] += numlist[i];
num++;
}
}
int[] answer = new int[num];
for(int j=0; j<num; j++){
answer[j] += arr[j];
}
return answer;
}
}
int 배열 arr을 numlist의 길이만큼 선언을 한 후 int num도 0으로 선언해준다.
for문을 활용해 numlist[i]번째 숫자가 정수 n와 나뉘어서 나머지값이 0일 경우 배열 arr에 저장해준다.
그러면 조건에 맞는 숫자들은 배열의 0번째 부터 순차적으로 저장이 될 것이고 나머지는 0으로 채워질 것 이다.
그리고 num은 조건에 맞는 숫자들이 나올 때마다 1씩 증가할 것이다.
int 배열 answer을 선언하는데 길이를 num으로 한다.
그러면 조건에 맞는 숫자가 있는 만큼 또는 배열 arr에 0이 아닌숫자의 개수만큼 선언이 될 것이다.
반복문을 활용해 arr에 0번째부터 숫자 0이 들어가있는 자리 전까지가 answer에 저장이 되고 answer를 리턴하면 답을 얻을 수 있다.
'프로그래머스 문제풀어보기' 카테고리의 다른 글
[Lv.0] 주사위의 개수 (0) | 2023.02.25 |
---|---|
[Lv.0] 직각삼각형 출력하기 (0) | 2023.02.25 |
[Lv.0] 문자열 정렬하기(1) (0) | 2023.02.22 |
[Lv.0] 암호 해독 (0) | 2023.02.22 |
[Lv.0] 대문자 소문자 (0) | 2023.02.22 |
댓글