일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 스택
- 2025 대한민국 채용박람회
- unity engine
- 그리디 알고리즘
- 브루트포스 알고리즘
- 다이나믹프로그래밍
- 배열 리스트
- 큐
- i자형 인재
- windows 12
- blender
- 우선순위 큐
- c#
- 그래픽 디자인
- 택시 기하학
- 시작
- 자료구조
- 닌텐도 스위치 2
- 잴다의 전설 티어스 오브 더 킹덤
- 라자냐
- VPS
- 빅오 표기법
- 코딩테스트
- vrm posing desktop
- T자형 인재
- VRoid Studio
- 이진 탐색
- 마인크래프트
- 카니발대학교 공대강국
- 영어
- Today
- Total
WalkerJei's Lifelog
백준알고리즘 31403번 A + B - C C# 본문
세부 정보
- 사이트: 백준알고리즘
- 번호: 31403
- 문제명: A + B - C
- 언어: C#
- 분류: 수학, 문자열, 사칙연산
- 비고: 원문은 한국어
문제
JavaScript에서 +, −은 수에 대해서는 일반적인 의미의 덧셈 뺄셈의 의미를 가지고 있습니다. 하지만 문자열에 대해서 +는 두 문자열을 이어붙이라는 의미이고, −는 양쪽 문자열을 수로 해석한 이후에 빼라는 의미입니다.
A,B,C를 각각 수와 문자열로 생각했을 때 A+B−C를 출력하세요.
입력
첫 줄에는 정수 A가 주어집니다. (1≤A≤1000)
둘째 줄에는 정수 B가 주어집니다. (1≤B≤1000)
셋째 줄에는 정수 C가 주어집니다. (1≤C≤1000)
주어지는 모든 수는 0으로 시작하지 않는 양의 정수입니다.
출력
첫 줄에는 A,B,C를 수로 생각했을 때, A+B−C를 출력하세요.
둘째 줄에는 A,B,C를 문자열로 생각했을 때, A+B−C를 출력하세요.
풀이
Convert.ToInt32()는 해당 변수 내용을 정수로 바꾸는 데 사용했다.
Convert.ToString()은 해당 변수 내용을 문자열로 바꾸는 데 사용했다.
양쪽 문자열을 수로 해석해 빼더라도 정수 C를 문자열로 바꾸고 다시 정수로 바꿀 필요는 없다.
using System.Collections;
class PrimeNumber
{
static void Main(String[] args)
{
StreamReader sr = new StreamReader(Console.OpenStandardInput());
StreamWriter sw = new StreamWriter(Console.OpenStandardOutput());
// 정수 3개를 입력받아 저장
int[] abc = new int[3];
// 정수 3개를 입력
for(int i = 0; i < abc.Length; i++)
abc[i] = Convert.ToInt32(sr.ReadLine());
// 정수 3개를 모두 수로 생각했을 때 출력
sw.WriteLine(abc[0] + abc[1] - abc[2]);
// 정수 3개를 모두 문자열로 생각했을 때 출력
// 여기서 +는 두 문자열을 이어붙이는 것이며,
// -는 양쪽 문자열을 수로 해석해 빼는 의미다.
sw.WriteLine(Convert.ToInt32(Convert.ToString(abc[0]) + Convert.ToString(abc[1])) - abc[2]);
sr.Close();
sw.Close();
}
}
후기
이 문제를 처음 접해본 사람이라면 정수 C에 해당하는 부분까지 문자열로 바꾸고 다시 정수로 바꿔야 하는 것으로 생각할 수도 있다. 하지만 굳이 이러한 처리를 하지 않아도 정답이 나오는 데 지장이 가지 않는다. 프로그래밍에서 최적화를 잘 하려면 주석은 달아도 사족은 달지 않는 것이 좋다. 불필요하게 작성된 코드는 처리되는 시간과 메모리 공간도 잡아먹는다. 때문에 출력을 할 때도 변수를 따로 선언해 연산하지 않고 바로 연산한 것을 출력하게 구현했다.
'소프트웨어 개발 > 코딩테스트(기성 문제)' 카테고리의 다른 글
백준알고리즘 10825번 국영수 C# (0) | 2025.05.09 |
---|---|
백준알고리즘 10987번 모음의 개수 C# (0) | 2025.05.07 |
백준알고리즘 10808번 알파벳 개수 C# (0) | 2025.05.07 |
백준알고리즘 1978번 소수 찾기 C# (0) | 2025.05.07 |
백준알고리즘 11005번 진법 변환 2 C# (0) | 2025.05.03 |