문제
어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다.
두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오
입력
첫째 줄에 수 X와 Y가 주어진다. X와 Y는 1,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 문제의 정답을 출력한다.
예제 입력 1 복사
123 100
예제 출력 1 복사
223
예제 입력 2 복사
111 111
예제 출력 2 복사
222
예제 입력 3 복사
5 5
예제 출력 3 복사
1
<내 코드>
import java.io.*;
import java.io.IOException;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String N=br.readLine();
String[] A=N.split(" ");
String str1="";
String str2="";
int X_=A[0].length();
int Y_=A[1].length();
for (int i=X_-1;i>=0;i--){
str1=str1+A[0].charAt(i);
}
for (int i=Y_-1;i>=0;i--){
str2=str2+A[1].charAt(i);
}
int rev1=Integer.parseInt(str1)+Integer.parseInt(str2);
String st=String.valueOf(rev1);
String st3="";
for (int i=st.length()-1;i>=0;i--){
st3=st3+st.charAt(i);
}
System.out.println(Integer.parseInt(st3));
}
}
찾아봤는데 굳이 마지막에 문자열로 바꾸지 않고
int rev = 0;
while(rev1!=0) {
rev = rev*10 + rev1%10;
rev1/=10;
}
의 방법도 사용할 수 있다고 함 !!
https://www.acmicpc.net/problem/1357
1357번: 뒤집힌 덧셈
어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(
www.acmicpc.net
'PS' 카테고리의 다른 글
| [java/백준] 2309번- 일곱난쟁이 (0) | 2023.08.18 |
|---|---|
| [java/백준] 1292번- 쉽게 푸는 문제 (2) | 2023.08.13 |
| [java/백준] 9506번- 약수들의 합 (1) | 2023.08.01 |
| [java/백준]1032번- 명령 프롬프트 (2) | 2023.07.30 |
| [java/백준] 2869번 - 달팽이는 올라가고 싶다(2트) (1) | 2023.07.28 |