[백준] 17609번 회문 (java, 구현)
728x90
반응형
이중 포문을 안돌고 하는 방법은 양끝에서 비교해나가다가 다른 부분에서 둘 중 하나 삭제해보고 회문이 맞는지
검사하면 되는 문제
모든 곳을 한 번씩 삭제해볼 필요없이 처음 달라지는 부분만! 삭제해보면 된다.
package algo0420;
import java.util.Scanner;
public class B_17609_회문_Main {
static int t;
static String s;
static char[] arr;
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
t=sc.nextInt();
for (int tc = 1; tc <=t; tc++) {
s=sc.next();
arr=s.toCharArray();
int left=0;
int right=s.length()-1;
if(check(left,right)) {
System.out.println(0);
continue;
}
if(checkS(left,right)) {
System.out.println(1);
}else {
System.out.println(2);
}
}
}
private static boolean check(int left,int right) {
while(left<=right) {
if(arr[left]!=arr[right]) {//다름
return false;
}
left+=1;
right-=1;
}
return true;
}
private static boolean checkS(int left,int right) {
while(left<=right) {
if(arr[left]!=arr[right]) {//다름
boolean a=check(left+1,right);
boolean b=check(left,right-1);
if(a==false && b==false) {
return false;
}else return true;
}
left+=1;
right-=1;
}
return true;
}
}
728x90
반응형
'백준' 카테고리의 다른 글
[백준] 16918번 봄버맨 (java, 구현) (0) | 2021.04.21 |
---|---|
[백준] 4307번 개미 (java, 구현) (0) | 2021.04.21 |
[백준] 14891번 톱니바퀴 (java, 시뮬레이션) (0) | 2021.04.21 |
[백준] 17822번 원판 돌리기 (java, 시뮬레이션) (0) | 2021.04.21 |
[백준] 1713번 후보 추천하기 (java, 시뮬레이션, 구현) (0) | 2021.04.20 |
TAGS.