배열의 원소만큼 추가하기

nacSeo (낙서)·2024년 2월 25일
0

프로그래머스

목록 보기
105/169

문제 설명

아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요.

제한사항

1 ≤ arr의 길이 ≤ 100
1 ≤ arr의 원소 ≤ 100

나의 코드

import java.util.List;
import java.util.ArrayList;

class Solution {
    public int[] solution(int[] arr) {
        List<Integer> list = new ArrayList<>();
        for(int i=0; i<arr.length; i++) {
            for(int j=0; j<arr[i]; j++) {
                list.add(arr[i]);
            }
        }
        int[] answer = new int[list.size()];
        for(int k=0; k<list.size(); k++) {
            answer[k] = list.get(k);
        }
        return answer;
    }
}

다른 사람 코드

class Solution {
    public int[] solution(int[] arr) {
        int[] answer = {};

        int sum = 0;

        for(int i=0; i<arr.length; i++) {
            sum += arr[i];    
        }

        answer = new int[sum];

        int idx = 0;

        for(int i=0; i<arr.length; i++) {
            for(int j=0; j<arr[i]; j++) {
                answer[idx++] = arr[i];
            }
        }

        return answer;
    }
}

배열로만 풀이

느낀 점

이중 반복문을 사용하여 어렵지 않게 문제를 해결했다.

profile
백엔드 개발자 김창하입니다 🙇‍♂️

0개의 댓글