하나의 배열을 두개의 배열로 분리하는 방법을 소개합니다.
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, 52. 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, 5Loading 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# - Sleep, 몇 초간 지연시키기
- C# - 날짜 계산, DateTime 시간 더하기 빼기
- 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 배열 정렬 (오름차순, 내림차순)