낑깡의 게임 프로그래밍 도전기

C# 프로그래머스 Lv.0 알아야 할 함수들 (2) 본문

프로그래머스

C# 프로그래머스 Lv.0 알아야 할 함수들 (2)

낑깡겜플밍 2025. 6. 29. 21:21
반응형

1. 문자열 분리

str[] = string.Split(' '); //공백을 기준으로 분리

str[] = string.Split(new[] {' ', '.'});//이렇게 여러개를 기준으로 나눌수도 있다

연속적으로 붙어있는 target을 나누다보면 빈 배열이 들어갈때가 있는데 빈 배열없이 나열하고 싶다면

str[] = string.Split(new[] {' ','.'}, StringSplitOptions.RemoveEmptyEntries);

 

2. 문자열 전위 후위 비교

string str = "ABCDEF"

str.StartsWith("ABC");//전위비교

str.EndsWith("DEF"); //후위비교

 

3. 리스트 값지우기

myList.Remove(3); //3이라는 값 삭제

myList.RemoveAt(2); //2번 요소삭제

*myList.RemoveAt(myList.Indexof(arr.min())); //배열의 가장 작은값이랑 일치하는 값 삭제

 

4. char를 string형식으로 바꾸기

하나의 char

string s = myChar.ToString();

배열 char

char[] letters = { 'H', 'i' };

string s = new string(letters);  // "Hi"

 

5. string을 char형식으로 바꾸기

Char[] arr = myString.ToCharArray();

 

6. 문자열 자르기

string str = "Hello, World";

string str1 = str.Substring(시작위치, 문자열길이);

 

7. 배열을 하나의 숫자로 변환

int[] date1이라는 배열이 주어졌을때

int d1 = int.Parse{$"{date[0]}{date[2]}{date[3]}"); 이런식으로 하나로 연결된 숫자로 변환할 수 있다.

 

8. 배열의 복사 특징과 확실한 얕복의 복사법

배열은 얕은 복사이기 때문에 복사본의 순서나 값을 바꾸면 원본도 바껴버린다.

그래서 배열을 복사할때  int[] arr1 = arr2;를 하면 똑같은게  생기는거나 마찬가지.

그래서 복사를 하고 싶다면 int[] arr1 = (int[])arr2.Clone(); 을 써야한다.

저 Clone() 반환값이 Object타입이기에 명시적 형변환을 해준다.

List<T>는 Array와는 달리 직접적으로 Clone()매서드를 제공하지않는다.

List<int> copy = original.ToList()를 해주면 복사해서 활용 가능하다.

둘다 얕은복사지만 활용가능.

주의할점은 클래스나 그런것은 안된다 완전 얕은 복사라 원본도 바뀐다. 값타입일 경유만 깊복 느낌으로 쓸수 있다.

반응형