50. [Java] 배열의 원소만큼 추가하기
https://school.programmers.co.kr/learn/courses/30/lessons/181861
- 아무 원소도 들어있지 않은 빈 배열 X가 있다.
- 양의 정수 배열 arr가 매개변수로 주어질 때,
- arr의 앞에서부터 차례대로 원소를 보면서
→ 원소가 a라면
→ X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return
- 1 ≤ arr의 길이 ≤ 100
- 1 ≤ arr의 원소 ≤ 100
정답코드
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
List<Integer> list = new ArrayList<>();
for (int i = 0; i < arr.length; i++) {
int cnt = arr[i];
for (int j = 1; j <=cnt; j++ )
list.add(arr[i]);
}
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
- ArrayList를 선언한다.
- arr 배열을 처음부터 끝까지 순회하면서 각 원소의 값을 cnt로 저장한다.
- 이중포문으로 그 숫자만큼 반복하면서 리스트에 추가한다.
- 리스트를 int[] 배열로 변환해서 반환한다.