[알고리즘문제풀기] 배열의 원소만큼 추가하기

silver's avatar
Aug 06, 2025
[알고리즘문제풀기] 배열의 원소만큼 추가하기

문제

내가 작성한 정답

import java.util.*; class Solution { public int[] solution(int[] arr) { List<Integer> answer = new ArrayList<>(); for(int i: arr){ for(int j=0; j<i; j++){ answer.add(i); } } return answer.stream().mapToInt(i->i).toArray(); } }

다른 사람들의 정답

import java.util.*; import java.util.stream.Collectors; class Solution { public List<Integer> solution(int[] arr) { // 배열 arr를 IntStream으로 변환하고 return Arrays.stream(arr) // 기본형 int를 Integer 객체로 박싱(래핑)하여 Stream<Integer>로 변환 .boxed() // 각 숫자 num에 대해, Collections.nCopies(num, num)로 num를 num번 반복하는 리스트 생성 // 그 리스트의 스트림을 flatMap하여 여러 개의 스트림을 하나의 평면화된 스트림으로 합침 .flatMap(num -> Collections.nCopies(num, num).stream()) // 최종적으로 List<Integer>로 수집하여 반환 .collect(Collectors.toList()); } }
 
Share article

silver