본문 바로가기

프로그래머스(Java)/Level 0

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

728x90

코드 힌트

  1. 배열 크기 계산:
    • 주어진 구간의 길이를 계산하여 반환할 배열의 총 길이를 구합니다.
    • intervals가 [[s1, e1], [s2, e2]] 형식으로 주어졌을 때, 반환할 배열의 크기는 (e1 - s1 + 1) + (e2 - s2 + 1)입니다.
  2. 배열에 요소 추가:
    • index 변수를 사용하여 반환할 배열에 순서대로 요소를 추가합니다.
    • 첫 번째 구간의 요소들을 추가한 후, 두 번째 구간의 요소들을 추가합니다.
// index++를 활용하여 배열에 요소 넣기 예시
// 크기가 10인 배열에 10~1까지 숫자 넣기
int[] result = new int[10];
int index = 0;
for (int i = 10; i >= 1; i--) {
    result[index++] = i;
}

 

 


정답은 더보기 클릭

더보기
class Solution {
    public int[] solution(int[] arr, int[][] intervals) {
        // 첫 번째 구간의 시작과 끝 인덱스
        int s1 = intervals[0][0], e1 = intervals[0][1];
        // 두 번째 구간의 시작과 끝 인덱스
        int s2 = intervals[1][0], e2 = intervals[1][1];
        
        // 결과 배열의 크기는 첫 번째 구간의 길이 + 두 번째 구간의 길이
        int[] result = new int[e1 - s1 + e2 - s2 + 2];
        
        // 결과 배열에 값을 넣기 위한 인덱스 초기화
        int index = 0;
        // 첫 번째 구간의 요소를 결과 배열에 추가
        for (int i = s1; i <= e1; i++) {
            result[index++] = arr[i];
        }
        
        // 두 번째 구간의 요소를 결과 배열에 추가
        for (int i = s2; i <= e2; i++) {
            result[index++] = arr[i];
        }
        
        // 최종 결과 배열 반환
        return result;
    }
}

 

728x90