인프런 커뮤니티 질문&답변

개발좌님의 프로필 이미지
개발좌

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

8. 팰린드롬(replaceAll 정규식이용)

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

작성

·

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가 출력됩니다.

개발좌님의 프로필 이미지
개발좌

작성한 질문수

질문하기