[백준] A + B - 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를 출력하세요.
문제 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// A, B, C 입력 받기
int A = Integer.parseInt(br.readLine());
int B = Integer.parseInt(br.readLine());
int C = Integer.parseInt(br.readLine());
// 수로 생각했을 때
System.out.println(A + B - C);
String aText = Integer.toString(A);
String bText = Integer.toString(B);
String aPlusB = aText + bText;
int aPlusBInt = Integer.parseInt(aPlusB);
// 문자열로 생각했을 때
System.out.println(aPlusBInt - C);
br.close();
}
}
우선 전체 코드는 다음과 같다.
먼저 BufferedReader
를 사용하여 A
, B
, C
를 각각 입력 받고,
수로 생각했을 때를 출력한다.
여기까지는 문제가 없을 것이다.
하지만 이 문제의 핵심은 문자열로 생각했을 때이다.
나는 A
와 B
를 각각 String
으로 변환하여 aText
, bText
로 만들었다.
그 다음 aText
와 bText
를 합친 값을 변수 aPlusB
에 대입했다.
하지만 int
형인 C
와의 연산을 해야하므로 int
형으로 다시 변환이 필요했다.
그래서 변수 aPlusBInt
를 선언하고 Integer.parseInt()
메서드를 활용하여 int
형으로 변환했다.
마지막으로 문자열로 생각했을 때의 결과값을 출력해주면 된다.
이 문제는 그렇게 크게 어렵지 않았다.