๐ [๋ฐฑ์ค์๊ณ ๋ฆฌ์ฆ ํ์ด] Q.1357 ๋ค์งํ ๋ง์ ๋ฌธ์ ํ์ด - java
๐ ๋ฌธ์
https://www.acmicpc.net/problem/1357
์ด๋ค ์ 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๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ๋ฌธ์ ์ ์ ๋ต์ ์ถ๋ ฅํ๋ค.
๐ ์ ๊ทผ๋ฒ
boj Q.1357 ๋ค์งํ ๋ง์ ๋ฌธ์ ์ ๋๋ค.
๋ฌธ์ ๊ทธ๋๋ก
Rev(x) ๋ผ๋ ๋ชจ๋ ์๋ฆฌ์๋ฅผ ์ญ์์ผ๋ก ๋ง๋๋ ํจ์๋ฅผ ๋ง๋ค์ด
Rev(Rev(X)+Rev(Y)) ๋ฅผ ๊ตฌํ๋ฉด ๋ฉ๋๋ค.
Rev(x)๋
String reverse(String s)
ํจ์๋ก ๋ฌธ์์ด๋ก ์ฃผ์ด์ง๋ ์๋ฅผ ์ญ์์ผ๋ก ๋ง๋ค์ด์ค๋๋ค.
์ด ํจ์๋ฅผ ์ด์ฉํด
Rev(Rev(X)+Rev(Y)) ๋ต์ ๊ตฌํ ์ ์์ต๋๋ค.
๐ป ์ฝ๋
package problem.string;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main_1357 {
static String x,y;
public static void main(String[] args) throws IOException {
input();
String answer = solve(x,y);
System.out.println(Integer.parseInt(answer));
}
public static void input() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String temp[] = br.readLine().split(" ");
x = temp[0];
y = temp[1];
br.close();
}
public static String reverse(String s){
return new StringBuilder(s).reverse().toString();
}
public static String solve(String a, String b) {
int temp = ( Integer.parseInt(reverse(a)) + Integer.parseInt(reverse(b)) );
return reverse(Integer.toString(temp));
}
}