본문 바로가기
JAVA/백준

[백준/자바] 1357번 뒤집힌 덧셈

by 동백05 2022. 1. 24.

#1일1알고리즘 22일차

https://www.acmicpc.net/problem/1357

 

1357번: 뒤집힌 덧셈

어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(

www.acmicpc.net

 

import java.util.Scanner;
public class jan23 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner s =new Scanner(System.in);
		String x=s.next();
		String y=s.next();
		StringBuffer sx=new StringBuffer(x);
		StringBuffer sy=new StringBuffer(y);
		String revX=sx.reverse().toString();
		String revY=sy.reverse().toString();
		StringBuffer sr=new StringBuffer(String.valueOf(Integer.parseInt(revX)+Integer.parseInt(revY)));
		String revR=sr.reverse().toString();
		int length=revR.length();
		for(int i=0;i<length;i++) {
			if(revR.substring(0, 1).equals("0")) {
				revR=revR.substring(1);
			}
		}
		
		System.out.println(revR);

	}

}

String을 substring으로 잘라서 다시 붙여서 진행을 하다가 더 간단한 방법이 없을까 알아보다 StringBuffer에는 reverse()를 사용할 수 있음을 알게되었다.

또한 입력이 5 5 인 경우 01이 아니라 1이 나오게 해야하기 때문에 제일 앞에 0이 나오는 경우는 잘라주는 작업을 하였다.

댓글