2026/03/07 5

백준 - [단계별로 풀어보기 문자열] 11720 숫자의 합

//백준 11720번 숫자의 합 int N = int.Parse(Console.ReadLine()); //숫자 개수 string inputNum = Console.ReadLine(); int count = 0; for (int index = 0; index 이번 문제는 입력된 숫자들을 모두 더해주기만 하면 되는 간단한 문제이다.하지만 C#에서는 char가 int로 자동 형 변환이 가능하기 때문에, string으로 입력받은 값을 인덱스로 접근하여 그대로 더하면 숫자 값이 아니라 ASCII 코드 값이 더해지는 현상이 발생한다.ex) 1은 실제 숫자 1이 아니라 ASCII 코드 값 49로 처리된다.따라서 각 문자에서 '0'의 ASCII 값을 빼주어야 실제 숫자 값을 얻을 수 있다.이 방법 외에도 Char 클..

백준 - [단계별로 풀어보기 문자열] 11654 아스키 코드

C#에서는 char → int로 암시적 형 변환이 가능하다.또한 Console.ReadLine()은 문자열(String)을 반환한다. String은 문자(char)들의 집합이기 때문에 인덱스로 접근할 수 있다.따라서 입력받은 문자열에서 첫 번째 문자에 접근한 뒤 (int)로 형 변환을 하면 해당 문자의 ASCII 코드 값이 출력된다.// 백준 11654번 : 아스키 코드// Console.ReadLine()은 string(문자열)을 반환한다.// string은 문자들의 집합이므로 인덱스 접근이 가능하다.char c = Console.ReadLine()[0];// char를 int로 캐스팅하면 해당 문자의 ASCII 코드가 출력된다.Console.WriteLine((int)c);// char 변수에 저장하..

C# BCL(Base Class Library) - 직렬화/역직렬화

프로그램에서 다뤄지는 모든 데이터는 결국 바이트(byte) 형태로 표현된다.string 타입 역시 C# 소스 코드에서는 겹따옴표(" ")로 감싸진 문자열 형태로 표현되지만, 실제로 파일에 저장되거나 네트워크를 통해 전송될 때는 바이트 데이터 형태로 변환되어 처리된다.좁은 의미에서 볼 때, 객체나 데이터를 일련의 바이트 배열(byte[])로 변환하는 작업을 직렬화(Serialization) 라고 하며,이 바이트 데이터를 다시 원래의 데이터 구조로 복원하는 작업을 역직렬화(Deserialization) 라고 한다.바이트 배열(byte[])은 직렬화를 수행하기 위한 하나의 표현 방식일 뿐이다.데이터가 특정 저장 매체에 보관될 수 있는 형태로 변환되고, 이후 그 데이터로부터 원래의 데이터를 다시 복원할 수 있다..

C# 2026.03.07

백준 - [단계별로 풀어보기 문자열] 9086 문자열

이번 문제는 문자열을 인덱스를 통해 접근할 수 있는지 확인하는 문제였다.C#의 string 타입은 BCL의 System.String으로 구현되어 있으며, 내부 문자에 접근할 수 있도록 인덱서(Indexer) 를 제공한다.인덱서를 사용하면 배열과 같은 방식으로 [] 문법을 이용해 특정 위치의 문자(char)에 접근할 수 있다.따라서 첫 번째 문자는 testCase[0], 마지막 문자는 testCase[testCase.Length - 1]과 같이 접근할 수 있다.BCL에서 제공하는 string의 인덱서와 Length 속성을 이해하고 있다면 쉽게 해결할 수 있는 문제다. //백준 9086번 문자열 int t = int.Parse(Console.ReadLine()); //각 문자열의 첫 문자와 마지막 문자를 인..

C# BCL(Base Class Library) - 문자열 처리

System.String문자열 처리는 대부분 string 타입에서 제공된다. 자주 사용되는 string 타입의 멤버멤버유형설명Contains인스턴스 메서드인자로 전달된 문자열을 포함하고 있는지 여부를 true/false로 반환EndsWith인스턴스 메서드인자로 전달된 문자열로 끝나는지 여부를 true/false로 반환Format정적 메서드형식에 맞는 문자열을 생성해 반환GetHashCode인스턴스 메서드문자열의 해시값을 반환IndexOf인스턴스 메서드문자 또는 문자열을 포함하는 경우 그 위치를 반환하고 없으면 -1을 반환Split인스턴스 메서드주어진 문자 또는 문자열을 구분자로 나눈 문자열의 배열을 반환StartsWith인스턴스 메서드인자로 전달된 문자열로 시작하는지 여부를 true/.false로 반환S..

C# 2026.03.07