하나의 배열을 두개의 배열로 분리하는 방법을 소개합니다.
1. Range 연산자를 이용한 방법
Range 연산자는 arr[0..4]
와 같이 시작과 끝의 범위가 표현된 연산자입니다.
arr[0..4]
는 배열 arr의 Index 0부터 4를 포함하지 않는 배열이 됩니다.
이것을 이용하여, 아래와 같이 배열을 두개로 나눌 수 있습니다.
arr[..mid]
: Index 0부터 Index mid를 포함하지 않는 배열arr[mid..]
: Index mid부터 마지막 요소까지의 배열
using System;
namespace Example {
public class Program {
public static void Main(string[] args) {
int[] arr = {1, 2, 3, 4, 5};
int mid = (arr.Length + 1) / 2;
int[] first = arr[..mid];
int[] second = arr[mid..];
Console.WriteLine(String.Join(", ", first));
Console.WriteLine(String.Join(", ", second));
}
}
}
Output:
1, 2, 3
4, 5
2. Array.Copy()를 이용한 방법
두개의 배열을 생성하고, 복사하려는 배열에서 두개의 배열에 요소들을 복사하는 방법입니다.
Array.Copy(src, srcIndex, des, desIndex, length)
는 src 배열의 srcIndex부터 length 길이 만큼 des 배열로 복사하는데, desIndex부터 복사합니다.
이것을 이용하여 아래와 같이 두개의 배열로 요소들을 복사할 수 있습니다.
using System;
namespace Example {
public class Program {
public static void Main(string[] args) {
int[] arr = {1, 2, 3, 4, 5};
int mid = (arr.Length + 1) / 2;
int[] first = new int[mid];
int[] second = new int[arr.Length - mid];
Array.Copy(arr, 0, first, 0, mid);
Array.Copy(arr, mid, second, 0, second.Length);
Console.WriteLine(String.Join(", ", first));
Console.WriteLine(String.Join(", ", second));
}
}
}
Output:
1, 2, 3
4, 5
Loading script...
Related Posts
- C# 바이트(Byte) 배열을 문자열로 변환
- C# String.format() 함수 알아보기
- C# - foreach (Array, List, Dictionary)
- C# 프로퍼티(Property) Get/Set 함수
- C# - Dictionary에서 key, value 가져오기
- C# - Dictionary 순회, foreach, for 루프
- C# - Dictionary에서 key, value 삭제
- C# - Dictionary.add()로 데이터 추가
- C# - Dictionary 선언 및 초기화
- C# - 문자열을 Double, Float으로 변환
- C# - 문자열을 리스트로 변환
- C# - 두 날짜/시간 비교, DateTime.Compare()
- C# - 날짜 계산, DateTime 시간 더하기 빼기
- C# - 날짜 문자열을 DateTime으로 변환
- C# - Sleep, 몇 초간 지연시키기
- C# - Timestamp(millisecond)를 DateTime 객체로 변환
- C# - 현재 시간 가져오기, DateTime
- C# - 문자열 리스트를 문자열로 변환
- C# - 리스트 복사 (얕은 복사, 깊은 복사)
- C# - 2차원 리스트 선언 및 초기화
- C# - 리스트 선언 및 초기화
- C# - 리스트 길이, 크기 가져오기
- C# - 리스트 합계, 평균 계산
- C# - 리스트 요소 제거 (RemoveAt, RemoveAt, RemoveAll)
- C# - 리스트에서 빈 문자열, null 제거
- C# - 리스트 두개로 분리, n개로 나누기
- C# - 문자열 뒤집기, Reverse()
- C# - 2차원 배열 복사, Clone
- C# - 문자열 배열을 문자열로 변환
- C# - 2차원 배열 선언, 초기화 방법
- C# - 배열 길이, 2차원 배열 길이
- C# - 두개의 배열을 하나로 합치기
- C# - 배열 중복 요소 제거
- C# - 배열에서 특정 요소 제거
- C# - Int 배열 정렬 (오름차순, 내림차순)