https://www.acmicpc.net/problem/1259
어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다.
수도 팰린드롬으로 취급할 수 있다. 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다. 121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다. 또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자.
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.
각 줄마다 주어진 수가 팰린드롬수면 'yes', 아니면 'no'를 출력한다.
import java.util.*;
public class pr1259 {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
while (true) {
String N = s.next();
if(N.equals("0")) break;
String[] arr = new String[N.length()];
String[] reverse_arr = new String[N.length()];
for(int i =0; i<N.length();i++) //주어진 문자열을 저장
arr[i]=N.substring(i,i+1);
for(int i=0; i<N.length();i++) // 뒤집은 문자열 저장
reverse_arr[i]=arr[N.length()-i-1];
int count =0;
for(int i=0;i<N.length();i++) { // test 시 맞으면 count 증가
if(arr[i].equals(reverse_arr[i]))
count++;
}
if(count == N.length())
System.out.println("yes"); //출력 예시 . . . .잘 확인하기 . . .. .
else
System.out.println("no");
}
}
}
String arr과 reverse_arr에 각각 주어진 문자열과, 뒤에서부터 읽은 문자열을 저장하고, 똑바로 읽은 것과 뒤에서부터 읽은 문자가 같으면 count 값을 증가시킨다. count 값이 주어진 문자열의 길이와 같으면 팰린드롬수로 판단해 yes를 출력하도록 한다.
substring을 처음 사용해봤다. 흥미롭다 ,,
그리고 채점!!!!! yes 를 Yes라고 써서 틀렸는데 다른 거 틀린 줄 알고 한시간동안 고민했다. ╰(‵□′)╯