작성
·
231
0
안녕하세요.
replaceAll 사용안하고 풀었는데, 예시입력 부분은 정상적으로 출력이 되는데, 제출하면 틀렸다고 나오는데,
혹시 잘못된 부분이 있을까요 ??
package 문자열;
import java.util.Scanner;
public class 팰린드롬8 {
public static String solution(String str) {
str = str.toUpperCase();
String answer = "NO";
for (int i = 0; i < str.length()/2; i++) {
if('A' <= str.charAt(i) && str.charAt(i) <= 'Z') {
if(str.charAt(i) == str.charAt(str.length()-1-i)) {
answer = "YES";
}
} else {
continue;
}
}
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
System.out.println(solution(str));
}
}
답변 2
1
확실하진 않지만 위에 코드는 0번과 n번, 1번과 n-1번 처럼 대응되는 위치만 비교가 가능한 것 같습니다. 만약에 처음 나오는found 뒤에 반점이 하나가 아니라 여러 개가 있다면 weew같이 대응이 되지 않아서 결과가 안나올 것 같습니다.
1
예시로 보자면, 알파벳이면서 대응되는 위치가 같은 F만 만나게 되어도 answer가 바로 YES가 되어서 잘못된 것 같습니다. 팰린드롬이 아니고 대응하는 알파벳이 하나만 있어도 YES가 출력됩니다.