
Solution 1) 내 풀이
import java.util.Arrays;
class Solution {
public int[] solution(int[] arr) {
int[] answer = new int[Arrays.stream(arr).sum()];
int idx = 0;
for (int i = 0; i < arr.length; i++) {
int cnt = 0;
while (arr[i] != cnt) {
answer[idx++] = arr[i];
cnt++;
}
cnt = 0;
} return answer;
}
}
코드 및 문제 리뷰
int 배열의 요소의 수치 만큼 새로운 int 배열에 추가하여 반환하는 문제이다.
로직 자체가 어려울건 없었으나 처음에 배열의 크기를 어떻게 지정할지를 좀 고민해봤다.
List 없이 해낼 수 있을 것 같아 구글링해본 결과 Arrays.stream().sum()이 있었다.
Arrays.stream(int 배열).sum() 할 경우 배열안 요소들의 합을 반환한다.
이를 이용해 처음부터 배열을 생성해 놓고 시작할 수 있었다.
'연습문제 > 프로그래머스, 기초 트레이닝' 카테고리의 다른 글
| [프로그래머스 기초_java] 배열 만들기 6 (1) | 2023.11.04 |
|---|---|
| [프로그래머스 기초_java] 빈 배열에 추가, 삭제하기 (0) | 2023.11.04 |
| [프로그래머스 기초_java] 세 개의 구분 (1) | 2023.11.04 |
| [프로그래머스 기초_java] rny_string (1) | 2023.11.03 |
| [프로그래머스 기초_java] 문자열 바꿔서 찾기 (0) | 2023.11.03 |