[작성일: 2023. 09. 08]
https://www.acmicpc.net/problem/10988
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
int check = 1;
sc.close();
for (int i = 0; i < str.length()-i; i++) {
if (str.charAt(i) != str.charAt(str.length() - i - 1)) {
check = 0;
break;
}
}
System.out.print(check);
}
}
처음에 문제를 여러번 틀렸었는데 check를 0으로 두고 팰린드롬이면 check를 1로 바꾸는 로직으로 코드를 작성했었다.
이렇게 작성하게 되면 예제로 출력해봤을 때 문제는 없어보이지만 팰린드롬이 아닐 경우에도 반복문을 계속 돌기 때문에 결국엔 check는 1로 끝난다.
그래서 바꾼 로직은 check를 팰린드롬이라고 가정하고, 팰린드롬이 아닌 것을 0으로 바꾼 후 break문으로 반복문을 빠져나가도록 작성했다.