Skip to main content

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();
    }
}
  1. ArrayList를 선언한다.
  2. arr 배열을 처음부터 끝까지 순회하면서 각 원소의 값을 cnt로 저장한다.
  3. 이중포문으로 그 숫자만큼 반복하면서 리스트에 추가한다.
  4. 리스트를 int[] 배열로 변환해서 반환한다.