
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A,B < 1010000)
출력
첫째 줄에 A+B를 출력한다.
전체 코드(Java)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
import java.util.StringTokenizer;
public class Main {
public static void main(String args[]) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
BigInteger A = new BigInteger(st.nextToken());
BigInteger B = new BigInteger(st.nextToken());
System.out.println(A.add(B));
br.close();
}
}
풀이
- BigInteger를 사용하여 간단하게 해결
- StringTokenizer로 입력받은 문자열을 공백 기준으로 자름
- BigInteger로 계산(add 메소드)
- 개선점 : char 형 배열을 이용해 계산하면 속도가 훨씬 빨라질 것으로 추정
- 현재 속도는 260ms로 매우 느린편
- 하지만 코드의 생산성에서 볼 때 이 코드가 매우 간결하고 좋다고 할 수 있음
'Problem Solve' 카테고리의 다른 글
[백준 / BOJ] 2217번 : 로프 (Java) (0) | 2023.01.02 |
---|---|
[백준 / BOJ] 10799번 : 쇠막대기 (Java) (0) | 2022.11.25 |
[백준 / BOJ] 2839번 : 설탕 배달 (풀이 / 해설 / Java) (0) | 2021.04.02 |
[백준 / BOJ] 2775번 : 부녀회장이 될테야 (풀이 / 해설 / Java) (0) | 2021.03.30 |
[백준 / BOJ] 2869번 : 달팽이는 올라가고 싶다 (풀이 / 해설 / Java) (0) | 2021.03.29 |