728x90
- 최대 문자 1개를 지워서 회문 문자열이 되는지 확인
(입력)
abcbdcba
abcabbakcba
abcacbakcba
abckabbacba
(출력)
public class Main {
public Boolean isPalindrome(String s) {
Boolean answer = true;
int l = 0;
int r = s.length()-1;
while (l<r) {
if(s.charAt(l) != s.charAt(r)) return false;
l++;
r--;
}
return answer;
}
private String solution(String s) {
String answer = "YES";
int l = 0;
int r = s.length()-1;
while (l<r){
if(s.charAt(l) != s.charAt(r)) {
String s1 = s.substring(l, r);
String s2 = s.substring(l+1, r+1);
if(!isPalindrome(s1) && !isPalindrome(s2)) return "NO";
}
l++;
r--;
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
System.out.println(T.solution("abcbdcba"));
System.out.println(T.solution("abcabbakcba"));
System.out.println(T.solution("abcacbakcba"));
System.out.println(T.solution("abckabbacba"));
}
}
- subString(l, r) 과 subString(l+1, r+1) 이 회문 문자열인지를 사용
반응형
'전.java' 카테고리의 다른 글
[Java] 학급 회장 (0) | 2023.01.27 |
---|---|
[Java] 특정 문자 뒤집기 (0) | 2023.01.27 |
[Java] 회문 문자열 (0) | 2023.01.27 |
[Java] 문자열 압축 (1) | 2023.01.26 |
[Java] 백준 10807 개수 세기 (1) | 2023.01.16 |