이 문제는 맨 앞 숫자와 맨 뒷 숫자를 비교해서 같은지 확인하고 두번째 숫자와 맨 뒤의 숫자-1 의 숫자와 비교하고..를 반복하면 되는 문제이다.
그러려면 글자를 하나씩 떼어야 하는데 그러기 위해 또 charAt()를 쓴다. 한글자 떼는걸로 끝나는게 아니라 앞뒤를 비교해야 하기 때문에 글자 수에 맞춘 배열에 차례로 넣었다.
import java.util.Scanner;
public class Main {
public static void main(String[] args){
Scanner in = new Scanner(System.in);
String N; //주어지는 수
while (true) {
N = in.next();
if (N.equals("0")) break;
char [] charN = new char[N.length()];
for (int i = 0; i < N.length(); i++) {
charN[i] = N.charAt(i); //한자리에 한글자씩 배열에 넣기
}
boolean flag = true; //yes no 확인하는 플래그
for (int i = 0; i < charN.length -1 -i; i++) {
//시작하는 수와 끝나는 수 비교 (점점 가까워짐)
if (charN[i] != charN[charN.length -(1 + i)]) {
flag = false;
break;
}
}
if (flag) {
System.out.println("yes");
}else {
System.out.println("no");
}
}
}
}
설명은 주석에....
'Study > 알고리즘' 카테고리의 다른 글
1193번 - 분수찾기 JAVA (0) | 2022.08.05 |
---|---|
백준 1173번 - 운동 JAVA (0) | 2022.08.04 |
백준 1159번 - 농구 경기 JAVA (0) | 2022.07.30 |
백준 1157번 - 단어 공부 JAVA (0) | 2022.07.28 |
백준 1145번 - 적어도 대부분의 배수 JAVA (0) | 2022.07.27 |