본문 바로가기
반응형

프로그래밍503

C# Linq - Enumerable.Reverse() Enumerable.Reverse(IEnumerable) 메서드 public static System.Collections.Generic.IEnumerable Reverse (this System.Collections.Generic.IEnumerable source); 매개변수 source IEnumerable 변환할 값의 시퀀스 반환 IEnumerable 특정 시퀀스 요소의 순서를 뒤집을때 사용한다. 예제 코드 static void Main(string[] args) { var s = "abcdef"; var revse_s = new string(s.Reverse().ToArray()); Console.WriteLine(revse_s); // fedcba } char[] apple = { 'a', 'p.. 2024. 2. 19.
[백준 BAEKJOON] 16916번 부분 문자열 문제 문자열 S의 부분 문자열이란, 문자열의 연속된 일부를 의미한다. 예를 들어, "aek", "joo", "ekj"는 "baekjoon"의 부분 문자열이고, "bak", "p", "oone"는 부분 문자열이 아니다. 문자열 S와 P가 주어졌을 때, P가 S의 부분 문자열인지 아닌지 알아보자. 입력 첫째 줄에 문자열 S, 둘째 줄에 문자열 P가 주어진다. 두 문자열은 빈 문자열이 아니며, 길이는 100만을 넘지 않는다. 또, 알파벳 소문자로만 이루어져 있다. 출력 P가 S의 부분 문자열이면 1, 아니면 0을 출력한다. 16916번: 부분 문자열 첫째 줄에 문자열 S, 둘째 줄에 문자열 P가 주어진다. 두 문자열은 빈 문자열이 아니며, 길이는 100만을 넘지 않는다. 또, 알파벳 소문자로만 이루어져 있다... 2024. 2. 19.
KMP 문자열 탐색 알고리즘 KMP 문자열 탐색 알고리즘 글 안에서 단어를 빠르게 찾거나, 문자열을 전처리하여 우리가 원하는 정보를 추출하는 알고리즘은 여러 분야에서 활용이 가능하다. 대표적인 문자열 안에서 단어를 찾는 문자열 탐색 알고리즘으로는 라빈-카프 보이어-무어 KMP 알고리즘 등이 있으며, 문자열 안에서 여러 개의 단어를 동시에 찾는 방법으로 아호-코라식 알고리즘이 있다. 가장 간단한 문자열 탐색 문자열 안에서 특정 단어를 검색하는 가장 간단한 방법은 전부 하나하나 비교하는 것이다. 위처럼 원본 문자열의 맨 앞 문자부터 탐색을 시작하여, 탐색 문자열과 다른 문자가 발견되다면 두 번째 문자부터 다시 비교하는 과정을 계속 반복하는 아주 간단한 방법이다. 위처럼 탐색 문자열을 원본 문자열의 모든 부분에 대해서 비교하는 방식은 매.. 2024. 2. 19.
[백준 BAEKJOON] 2557번 Hello World 문제 Hello World!를 출력하시오. 입력 없음 출력 Hello World!를 출력하시오. 2557번: Hello World Hello World!를 출력하시오. www.acmicpc.net 풀이 코드 using System; class Program { static void Main() { Console.WriteLine("Hello World!"); } } 2024. 2. 16.
C# Linq - Enumerable.OfType() Enumerable.OfType(IEnumerable) 메서드 public static System.Collections.Generic.IEnumerable OfType (this System.Collections.IEnumerable source); 형식 매개 변수 TResult 스퀀스의 요소를 필터링할 형식 매개변수 source IEnumerable 요소를 필터링할 IEnumerable 반환 IEnumerable 형식의 입력 시퀀스에서 가져온 요소가 들어있는 IEnumerable IEnumerable 컬렉션에서 원하는 TResult 형식을 선별하고 싶을 때 사용한다. 예제 코드 System.Collections.ArrayList fruits = new System.Collections.ArrayLis.. 2024. 2. 16.
C# Value Type vs Reference Type 값 타입(Value Type) 스택 메모리에 저장 데이터를 직접 가지고 있음 기본 타입들 대부분이 값 타입 (Booleans, Characters, DateTime, TimeSpan, 구조체) 값 타입 변수를 복사하면 완전히 새로운 변수가 생기고 이는 기존 변수와 연관이 없다. 값 타입 예제 int a = 10; int b = a; b = 20; Console.WriteLine(a); // Output : 10 Console.WriteLine(b); // Output : 20 참조 타입(Reference Type) 힙 메모리에 저장 참조 타입 생성 시 힙에 메모리가 할당되며 변수의 메모리 주소가 저장됨 Class, Interfaces, Delegates, 배열 등 참조 타입 변수를 복사하면 같은 데이터를.. 2024. 2. 15.