일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 람다식
- unity
- 코루틴
- 유한상태머신
- FSM
- inputsystem
- Generic
- LINQ
- 장애물달리기
- 스택
- 인터페이스
- invokec#events
- 비선형자료구조
- 효과음
- UI
- BGM
- script
- 스파르타내일배움캠프
- 유니티
- ObjectPool
- c#
- 자료구조
- 프로그래머스
- 배열
- delegate
- skybox
- InputManager
- 직렬화
- 메서드
- soundmanager
- Today
- Total
Unity 개발일지
[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
'C#' 카테고리의 다른 글
[C#] 정적(Static) 필드와 메서드 (2) | 2024.04.26 |
---|---|
[C#] 무한루프를 이용해 잘못된 입력을 받았을 때 메세지 띄우기 (0) | 2024.04.25 |
[C#] 인터페이스(Interface)와 추상(Abstract)클래스 (0) | 2024.04.24 |
[C#] 프로퍼티(Property)란? (0) | 2024.04.23 |
[C#] 백준 문제 2588번 곱셈 (0) | 2024.04.22 |