[ Programmers ] 배열의 원소만큼 추가하기 ( java ) 92 / 124
📚 Table of Contents
문제 설명
아무 원소도 들어있지 않은 빈 배열 X가 있습니다.
양의 정수 배열 arr
가 매개변수로 주어질 때, arr
의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤
arr
의 길이 ≤ 100 - 1 ≤
arr
의 원소 ≤ 100
입출력 예
arr | result |
---|---|
[5, 1, 4] | [5, 5, 5, 5, 5, 1, 4, 4, 4, 4] |
[6, 6] | [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] |
[1] | [1] |
입출력 예 설명
입출력 예 #1
- 예제 1번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.
a | X |
---|---|
[] | |
5 | [5, 5, 5, 5, 5] |
1 | [5, 5, 5, 5, 5, 1] |
4 | [5, 5, 5, 5, 5, 1, 4, 4, 4, 4] |
따라서 [5, 5, 5, 5, 5, 1, 4, 4, 4, 4]를 return 합니다.
입출력 예 #2
- 예제 2번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.
a | X |
---|---|
[] | |
6 | [6, 6, 6, 6, 6, 6] |
6 | [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] |
따라서 [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6]를 return 합니다.
입출력 예 #3
- 예제 2번에 대해서 a와 X를 나타내보면 다음 표와 같습니다.
a | X |
---|---|
[] | |
1 | [1] |
따라서 [1]을 return 합니다.
문제 풀이
코드 설명
- 코드의 목적:
- 주어진 정수 배열(arr)의 각 원소를 그 값만큼 반복해서 새로운 배열에 추가합니다. 예를 들어, [1, 2, 3]이 주어지면 [1, 2, 2, 3, 3, 3]을 반환합니다.
- 코드의 주요 구조:
- Solution 클래스와 solution 메소드로 구성
- solution 메소드에서는 ArrayList를 사용하여 반복된 정수를 저장하고, 이를 스트림 API를 이용해 정수 배열로 변환합니다.
- 코드의 주요 알고리즘:
- ArrayList와 for-each loop를 사용하여 주어진 배열의 각 원소를 그 값만큼 반복해서 새로운 리스트에 추가합니다.
- 스트림 API의 mapToInt와 toArray 메소드를 사용하여 리스트를 정수 배열로 변환합니다.
- 코드의 핵심:
- 주어진 배열의 각 원소를 그 값만큼 반복해서 새로운 배열에 추가하는 것
- ArrayList와 스트림 API를 효율적으로 사용하여 배열 처리를 수행하는 것
풀이
import java.util.ArrayList;
class Solution {
// solution 메소드 정의, 주어진 정수 배열을 매개변수로 받음
public int[] solution(int[] arr) {
// 반복된 정수를 저장할 ArrayList를 생성
ArrayList<Integer> list = new ArrayList<>();
// 주어진 배열의 각 원소를 그 값만큼 반복해서 새로운 리스트에 추가
for (int n : arr) {
for (int i = 0; i < n; i++) {
list.add(n);
}
}
// 리스트를 정수 배열로 변환하여 반환
return list.stream().mapToInt(Integer::intValue).toArray();
}
}
'Coding > Programers' 카테고리의 다른 글
[ Programmers ] 배열 만들기 6 ( java ) 94 / 124 (0) | 2024.01.09 |
---|---|
[ Programmers ] 빈 배열에 추가, 삭제하기 ( java ) 93 / 124 (1) | 2024.01.09 |
[ Programmers ] 세 개의 구분자 ( java ) 91 / 124 (1) | 2024.01.08 |
[ Programmers ] rny_string ( java ) 90 / 124 (1) | 2024.01.08 |
[ Programmers ] 문자열 바꿔서 찾기 ( java ) 89 / 124 (1) | 2024.01.08 |