2020-09-30
문제
수 124를 뒤집으면 421이 되고 이 두 수를 합하면 545가 된다.
124와 같이 원래 수와 뒤집은 수를 합한 수가
좌우 대칭이 되는지 테스트 하는 프로그램을 작성하시오.
입력
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄에 하나의 정수 N(10 ≤ N ≤ 100000)이 주어진다.
출력
각 테스트 케이스에 대해서 원래 수와 뒤집은 수를 합한 수가
좌우 대칭이 되면 YES를 아니면 NO를 한 줄에 하나씩 출력한다.
소스코드
Scanner scan = new Scanner(System.in);
String reverseN = "";
int numberN =0;
int testCase = scan.nextInt();
for(int T = 0; T < testCase; T++) {
String n = scan.next();
for(int i = n.length() - 1; i >= 0 ; i--) {
reverseN = reverseN + n.charAt(i);
}
//초기 입력 받은 값을 뒤집어 변수에 넣어줌
if(n.length() > 1) {
numberN = Integer.parseInt(n) + Integer.parseInt(reverseN);
}else {
numberN = Integer.parseInt(n);
}
//해당 두값을 더해서 numberN에 넣어줌
//만약에 한자리면 더할 필요 없이 그냥 n값만 넣어줌
String textN = Integer.toString(numberN);
//다시 스트링 속성으로 변환
if(textN.charAt(0) == textN.charAt(n.length()-1)) {
System.out.println("Yes");
}else {
System.out.println("No");
}
//처음 자리와 끝자리 비교하여 같으면 Yes
//아니면 No 출력
}
출처 링크 : www.acmicpc.net/problem/3062