Algorithm

[백준-10757번/Java] 큰 수 A + B

1984 2022. 11. 10. 16:11

* 문자열로 처리

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		StringBuffer sb1 = new StringBuffer(sc.next());
		StringBuffer sb2 = new StringBuffer(sc.next());

		String str1 = sb1.reverse().toString();
		String str2 = sb2.reverse().toString();

		char[] num1 = str1.toCharArray();
		char[] num2 = str2.toCharArray();

		if (num1.length <= num2.length) {
			num1 = str2.toCharArray();
			num2 = str1.toCharArray();
		}

		int post_plus = 0;
		String answer = "";
		for (int i = 0; i < num1.length; i++) {
			if (i < num2.length) {
				int i1 = Integer.parseInt(Character.toString(num1[i]));
				int i2 = Integer.parseInt(Character.toString(num2[i]));
				answer += (i1 + i2 + post_plus) % 10;
				post_plus = (i1 + i2 + post_plus) / 10;
			} else {
				int i1 = Integer.parseInt(Character.toString(num1[i]));
				answer += (i1 + post_plus) % 10;
				post_plus = (i1 + post_plus) / 10;

			}
		}
		if (post_plus != 0) {
			answer += post_plus;
		}

		StringBuffer sb_answer = new StringBuffer(answer);

		System.out.println(sb_answer.reverse());
		sc.close();
	}

}
728x90