본문 바로가기

PS/백준

[백준/1357번/java] - 뒤집힌 덧셈

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