• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    미해결

코드중에 잘못된 부분이있을까요?

22.07.13 10:43 작성 조회수 163

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

ghkddlscks19님의 프로필

ghkddlscks19

2022.07.14

확실하진 않지만 위에 코드는 0번과 n번, 1번과 n-1번 처럼 대응되는 위치만 비교가 가능한 것 같습니다. 만약에 처음 나오는found 뒤에 반점이 하나가 아니라 여러 개가 있다면 weew같이 대응이 되지 않아서 결과가 안나올 것 같습니다.

1

ghkddlscks19님의 프로필

ghkddlscks19

2022.07.14

예시로 보자면, 알파벳이면서 대응되는 위치가 같은 F만 만나게 되어도 answer가 바로 YES가 되어서 잘못된 것 같습니다. 팰린드롬이 아니고 대응하는 알파벳이 하나만 있어도 YES가 출력됩니다.