728x90
반응형

C# 69

[C#] 백준 알고리즘 2439번, 별 찍기 -2

using System; namespace codingstudy { class Program { static void Main() { int n = int.Parse(Console.ReadLine()); // 입력 for (int i=1; i=i+1; j--) // j가 n의 값에서 -1되어 공백을 채우도록 for문 { Console.Write(" "); } for(int k=1; k=i+1이 >로 되어있어서 이 부분을 수정해주었더니 정답이 나왔다. using System; namespace codingstudy { class Program { static void Main() { int n = int.Parse(Console.ReadLine()); int j=n; int k=1; for (int i =..

C#/C# (백준) 2023.01.12

[C# 교과서] 35~37. 생성자, 소멸자, 메서드와 매개변수

생성자 단어 그대로 개체를 생성하면서 무엇인가를 하고자 할 때 사용되는 메서드 생성자 이름이 클래스 이름과 동일 클래스 내에서 클래스 이름과 동일한 이름을 갖는 메서드는 모두 생성자 메서드와 마찬가지로 클래스에 매개변수를 달리하여 생성자를 여러개 만들 수 있음, 이를 생성자 오버로드 또는 오버로딩이라고 함 this 키워드를 사용해서 다른 생성자를 호출할 수도 있음 생성자도 메서드(함수)임 하지만 메서드와 달리 반환 형식을 지정 못함 또 static 생성자는 매개변수를 포함할 수 없으며, 매개변수를 사용하여 필드를 초기화할 때는 istance 생성자인 public 생성자를 사용해야 함 this() 생성자로 다른 생성자 호출하기 생성자에서 this()는 자신의 또 다른 생성자를 의미 this() 생성자로 매..

C#/C# 교과서 2023.01.11

[C#] 백준 알고리즘 11022번, A+B - 8

using System; namespace codingstudy { class Program { static void Main() { int t = int.Parse(Console.ReadLine()); // 테스트 케이스 입력 int sum = 0; for (int i = 0; i < t; i++) { string[] s = Console.ReadLine().Split(); // 더할 값 입력 int num1 = int.Parse(s[0]); int num2 = int.Parse(s[1]); sum = num1 + num2; Console.WriteLine($"Case #{i+1}: {num1} + {num2} = {sum}"); } } } } 이전 문제의 코드에서 Console.WriteLine부분만..

C#/C# (백준) 2023.01.11

[C#] 백준 알고리즘 11021번, A+B - 7

using System; namespace codingstudy { class Program { static void Main() { int t = int.Parse(Console.ReadLine()); // 테스트 케이스 입력 int sum = 0; for (int i = 0; i < t; i++) { string[] s = Console.ReadLine().Split(); // 더할 값 입력 int num1 = int.Parse(s[0]); int num2 = int.Parse(s[1]); sum = num1 + num2; Console.WriteLine($"Case #{i+1}: {sum}"); } } } } 처음에는 아래에 for문을 돌리고 그랬었는데 하다보니까 엥 이것보다 더 쉬운게 있는데.. ..

C#/C# (백준) 2023.01.11

[C# 교과서] 33~34. 네임스페이스, 필드 만들기

네임스페이스 프로그램 규모가 커질 때 클래스 이름이 충돌하는 것을 방지하도록 클래스를 모아서 관리하는 개념 using 지시문을 사용하여 클래스 파일의 위쪽에 선언 서로 관련 있는 클래스, 구조체, 열거형 등의 형식과 또 다른 네임스페이스 등을 묶어 관리해 주는 개념 클래스 이름이 중복되는 것을 방지하는 역할 클래스를 계층형으로 묶어 관리 가능 네임스페이스는 패키지란 단어와 의미가 비슷, 관련 있는 형식의 묶음 namespace 네임스페이스 이름 { // 클래스 등 정의가 들어옴 } using System; namespace Foo { public class Car { public void Go() => Console.WriteLine("[1] Foo 네임스페이스의 Car 클래스 호출"); } } name..

C#/C# 교과서 2023.01.10

[C#] 백준 알고리즘 15552번, 빠른 A+B

using System; using System.Text; namespace codingstudy { class Program { static void Main() { StringBuilder sb = new StringBuilder(); // Text안에 있는 StringBuilder 선언 int t = int.Parse(Console.ReadLine()); // for문 돌리기 위해서 몇 개의 테스트 케이스할건지 적는 곳 for (int i = 0; i < t; i++) { string[] num = Console.ReadLine().Split(); sb.Append(int.Parse(num[0]) + int.Parse(num[1]) + "\n"); // 스트링빌더로 num[0]과 num[1]의 값의..

C#/C# (백준) 2023.01.09

[C# 교과서] 31~32. 알고리즘과 절차 지향 프로그래밍, 개체 만들기

알고리즘 문제를 해결하는 일련의 절차나 방법을 공식으로 표현한 풀이법 프로그래밍을 할 때 생긴 문제의 해결 방법을 체계적으로 정리한 것 ‘문제 해결 능력’ 입력(input) → 처리(process) → 출력(output) 중 처리 단계가 알고리즘 단계 입력 : 자료구조에서 담당하는 영역. 간단히 변수 및 배열의 데이터를 사용하고 나아가서는 컬렉션, 파일, 데이터베이스의 데이터를 사용하는 영역 처리 : 알고리즘 처리 영역 출력 : 화면에 보이는 UI를 담당하는 영역 근삿값 알고리즘 using System; using System.Linq; using static System.Console; class Program2 { static void Main() { // 절댓값 구하기 로컬 함수 : Math.Abs..

C#/C# 교과서 2023.01.09

[C# 교과서] 28~29. 제네릭 사용하기, 널(null) 다루기

제네릭 특정 형식을 지정하여 컬렉션에 저장하고 사용할 수 있음 다른 데이터 형식을 추가할 수 없도록 형식 안정성을 적용 데이터 형식 변환 등 작업이 따로 필요하지 않음 Cup를 형식 매개변수인 T에 따른 Cup 클래스의 개체를 생성하는 것 Cup of T 넘어오는 데이터 형식에 따라 해당 개체 성격을 변경하는 구조를 제네릭이라 함 Stack과 제네릭 클래스 사용 일반 클래스 Stack과 제네릭 클래스인 Stack는 하는 일이 동일함 다만 Stack 클래스는 데이터 object를 다루고, Stack 클래스는 T로 지정한 데이터로 다룸 object로 만든 데이터를 실제 사용하려는 string과 같은 형식으로 표현할 때는 중간에 변환 과정을 거치기 때문에 이 부분에서 추가 작업을 진행하는 비용이 발생함 그래서..

C#/C# 교과서 2023.01.05

[C# 교과서] 26~27. 예외 처리, 컬렉션 사용하기

try~catch~finally 구문 try { // 예외가 발생할 만한 코드 작성 } catch { // 예외가 발생할 때 처리해야 할 코드 블록 } finally { // 예외가 발생하거나 정상일 때 모두 처리해야 할 코드 블록 } Exception 클래스로 예외처리 닷넷에서 모든 예외에 대해 처리할 주요 기능을 담아 놓은 클래스가 Exception Exception 클래스의 주요 속성에는 Message가 있는데, 현재 예외 설명을 출력 FormatException 클래스 형식의 예외받아 처리 Exception 클래스와 마찬가지로 FormatException 같은 클래스들은 각각 고유의 예외가 발생했을 때 해당 예외 정보를 담고 있음 using System; using static System.Con..

C#/C# 교과서 2023.01.03

[C# 교과서] 25. 문자열 다루기

문자열 다루기 Length : 문자열 길이 값 반환 ToUpper() : 문자열을 모두 대문자로 변환 ToLower() : 문자열을 모두 소문자로 변환 Trim() : 문자열 양쪽 공백을 잘라 냄 Replace(원본문자열,대상문자열) : 원본 문자열을 대상 문자열로 변경 Substring(문자열인덱스, 길이) : 지정된 문자열 인덱스부터 길이만큼 반환 메서드 체이닝 메서드를 여러 번 점(.)을 찍어 구분하면서 호출하는 방법 메서드 체이닝, 메서드 체인, 파이프 라인이라고 부름 ToCharArray() 문자열을 문자 배열로 변환하는 방법 Split() 문자열 분리 StringBuilder 클래스 Append() 메서드로 문자열 연결 String 변수로 묶는 작업과 달리 StringBuilder를 사용했을 ..

C#/C# 교과서 2023.01.02
728x90
반응형