
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
StringBuilder sbnum1 = new StringBuilder(scan.next());
StringBuilder sbnum2 = new StringBuilder(scan.next());
String revnum1 = sbnum1.reverse().toString();
String revnum2 = sbnum2.reverse().toString();
int num1 = Integer.parseInt(revnum1);
int num2 = Integer.parseInt(revnum2);
StringBuilder sbresult = new StringBuilder(String.valueOf(num1 + num2));
int result = Integer.parseInt(sbresult.reverse().toString());
System.out.println(result);
}
}
문자열로 숫자를 입력받아 reverse 해주기 위해 처음 입력받는 숫자 2개인 num1 , num2 를 StringBuilder 로 입력받아주었다.
역으로 변환한 문자열인 revnum1, revnum2 를 다시 int 형으로 변환하기 위해 Integer.parseInt 를 이용하였고,
두 int 를 더한 값을 다시 문자열로 만들어 StringBuilder 로 변환하고 reverse 하여 다시 int 로 변환하여 반환하는 과정으로 문제를 해결하였다. 처음엔 int 로 반환하든, String 으로 반환하든 차이가 없을거라고 생각해서 마지막 3줄 코드를 아래 처럼 작성했었는데,
StringBuilder result = new StringBuilder(String.valueOf(num1+num2));
System.out.println(result.reverse().toString());

int 가 아니라 String 으로 반환하기 때문에 01 도 반환하게 되어서 다시 int 로 바꾸어 반환하는 과정으로 수정하게 되었다.
'PS > 백준' 카테고리의 다른 글
[백준/1037번/java] - 약수 (0) | 2024.03.17 |
---|---|
[백준/2163번/java] - 초콜릿 자르기 (1) | 2024.03.14 |
[백준/2477번/c언어] 숫자의 개수 (1) | 2023.06.30 |
[백준/10951번/c언어]- A+B-4 (1) | 2023.01.23 |
[백준/2588번/c언어]-곱셈 (0) | 2023.01.14 |