자바 문제 풀이/기초문제

[프로그래머스 자바] 배열만들기 3

ari0930 2024. 4. 18. 22:30

[프로그래머스 자바] 배열 만들기 3

문제

정수배열 arr 와 2개의 구간이 담긴 배열 intervals 이 주어진다.

intervals은 항상 [[a1, b1], [a2, b2]]꼴로 주어지며 각 구간은 닫힌 구간이다.

닫힌 구간은 양 끝값과 그 사이의 값을 모두 포함하는 구간을 의미한다.

이때 배열 arr 의 첫 번째 구간에 해당하는 배열과 두 번째 구간에 해당하는

배열을 앞뒤로 붙여 새로운 배열르 만들어 return 하는 solution 함수를 완성하시오.

입출력

풀이

정답을 넣을 배열을 크기를 구하여 정답을 넣을 배열을 생성한다.

그리고 정답을 넣을 배열을 값을 넣기 위해 count라는 변수를 만들어 

각 구간에 대해서 for 문을 돌릴때 새로운 배열의 원소를 배열에 넣어줄 수 있도록 만든다.

코드

class Solution {
    public int[] solution(int[] arr, int[][] intervals) {
        int a1=intervals[0][0];
        int b1=intervals[0][1];
        int a2=intervals[1][0];
        int b2=intervals[1][1];
        int[] answer = new int[(b1-a1+1)+(b2-a2+1)];
        int count=0;
        for (int i=a1; i<=b1;i++){
            answer[count++]=arr[i];
        }
        for(int i=a2;i<=b2;i++){
            answer[count++]=arr[i];
        }

        return answer;
    }
}
반응형