728x90
문제
두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 A와 B가 주어진다. (0 < A,B < 10^10000)
출력
첫째 줄에 A+B를 출력한다.
풀이
큰수는 int, long의 범위를 벗어나기에 char 배열 혹은 String으로 해결해야함
기본적인 덧셈을 할때 올림을 이용하여 문제를 해결
코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a,b,c="";
a=sc.next();
b=sc.next();
StringBuffer sb = new StringBuffer(a);
a=sb.reverse().toString();
sb = new StringBuffer(b);
b=sb.reverse().toString();
int temp=0;
int inta=0, intb = 0;
for(int i=0;i<Math.max(a.length(), b.length());i++) {
if(i<a.length())
inta = a.charAt(i)-'0';
if(i<b.length())
intb = b.charAt(i)-'0';
temp += inta+intb;
c+=String.valueOf(temp%10);
temp/=10;
inta=intb=0;
}
if(temp>0)
c+=String.valueOf(1);
sb = new StringBuffer(c);
c=sb.reverse().toString();
System.out.println(c);
}
}
728x90
728x90
'Algorithm > Baekjoon' 카테고리의 다른 글
Baekjoon 3009 네 번째 점 JAVA (0) | 2022.01.20 |
---|---|
Baekjoon 1018 체스판 다시 칠하기 JAVA (0) | 2022.01.19 |
Baekjoon 10814 나이순 정렬 JAVA (0) | 2022.01.19 |
Baekjoon 1316 그룹 단어 체커 JAVA (0) | 2022.01.18 |
Baekjoon 5622 다이얼 JAVA (0) | 2022.01.18 |
댓글