[C#] 백준 문제 1000번 A+B
문제 자체는 A와 B를 입력받고 A+B를 출력하는 것으로 간단하다.
하지만 A와 B를 한번에 입력받아야 한다는 조건이 있다.
string[] s = Console.ReadLine().Split();
C#에서 입력을 받을 수 있는 메서드는 Console.ReadLine(); 이 있다.
하지만 Console.ReadLine(); 의 출력값은 문자열(또는 null)이다.
그러므로 우리가 숫자를 입력해도 문자열로 반환되며 이를 숫자로 변형시켜줘야한다.
2개의 숫자를 Console.ReadLine();에 입력했다면 이제 분리해야된다.
C#에서 문자열을 분리하는 방법으로는 String.Split 메서드가 있다.
Split 메서드는 특정한 구분자 값으로 문자열 값으로 구분해준다.
예를들면 Split(' '); 을 해주면 띄어쓰기로 값을 구분해준다.
' ' 를 안해주면 기본적으로 띄어쓰기로 구분해준다.
Split에 대한 자세한 내용은 해당 문서 참고
String.Split 메서드 (System) | Microsoft Learn
Console.WriteLine(int.Parse(s[0]) + int.Parse(s[1]));
마지막으로 출력을 해줄 수 있는 Console.WriteLine(); 메서드에 이 문자열을 숫자로 변환해서 넣어주면 되겠다.
문자열을 숫자로 변환하는 방법으로는 Int(정수)의 기능 중 하나인 Int32.Parse 메서드가 있다.
참고로 Console.WriteLine(value);의 괄호 안에는 value가 들어가고 이 값이 출력되는데
value에는 문자열, 숫자, 변수 연산식 등 어떤 값이든 사용할 수 있다.
Parse에 대한 자세한 내용은 해당 문서 참고
Int32.Parse 메서드 (System) | Microsoft Learn
1000번 문제 제출 답안
추가로 문제 1008번의 나눗셈의 경우는 상대오차의 값도 신경을 써주어야한다.
문제 11382번의 경우에는 1 ≤ A, B, C ≤ 10^12 라는 조건이 나오는데
자료형 int의 범위를 넘어가기 때문에 long을 써줘야한다.(장하다 꼬마정민이)
int와 float로 나누었다면 오차범위가 10의-9제곱보다 클 것이고 double부터 10의-9제곱 이상이 된다.
출처: 부동 소수점 숫자 형식 - C# 참조 - C# | Microsoft Learn