문제
해결 시도
public int[] solution(int[] arr, int[,] intervals)
{
int[] answer = new int[20];
int count = (intervals[0, 1] - intervals[0, 0]) + 1;
int count2 = (intervals[1, 1] - intervals[1, 0]) + 1;
//intervals의 첫번째 0,0이 시작값이 되야하는거야. 끝범위는 i < 0,1 이 되야 하는거고. 그래서 출력을 answer[0] = arr[i])
for (int i = 0; i < count; i++)
{
for (int j = intervals[0, 0]; j <= intervals[0, 1]; j++)
{
answer[i] = arr[j];
}
}
for (int i = 0; i < count2; i++)
{
for (int j = intervals[1, 0]; j <= intervals[1, 1]; j++)
{
answer[i + count] = arr[j];
}
}
return answer.Take(count + count2).ToArray(); // 배열의 크기를 조정하여 반환
}
해결
using System;
using System.Collections.Generic;
public class Solution {
public int[] solution(int[] arr, int[,] intervals)
{
List<int> answer = new List<int>();
for (int k = 0; k < 2; k++) // intervals의 두 줄 반복
{
int start = intervals[k, 0];
int end = intervals[k, 1];
for (int i = start; i <= end; i++)
{
answer.Add(arr[i]);
}
}
return answer.ToArray(); // List를 다시 배열로
}
}