
내가 작성한 코드 1 (반복문 버전)
class Solution {
public int[] solution(int[] arr) {
int length = 0; // 배열 길이 변수
// 배열 길이 구하기
for (int num : arr) {
length += num;
}
int[] answer = new int[length];
int index = 0;
// 원소 넣기
for (int i = 0; i < arr.length; i++) {
for (int j = 0; j < arr[i]; j++) {
answer[index++] = arr[i];
}
}
return answer;
}
}
내가 작성한 코드 2 (스트림 버전)
import java.util.*;
class Solution {
public int[] solution(int[] arr) {
int[] answer = Arrays.stream(arr)
.flatMap(num -> Arrays.stream(new int[num]).map(i -> num)) // 각 숫자를 num번 반복
.toArray(); // 결과를 배열로 변환
return answer;
}
}
Share article