반응형
이 문제는 조건에 맞게 문자열을 변형시켰을 때 S를 이용하여 T를 만들 수 있는지 확인하는 문제입니다.
이 문제를 풀기 위해서 저는 T를 변형시켜 S가 될 수 있는지 확인했습니다.
T의 마지막 문자가 A일 경우 문자를 제거하였고 마지막 문자가 B일 경우 이 문자를 제거한 후 문자열을 뒤집었습니다.
이 과정을 T와 S의 길이가 같아질 때까지 반복한 후 두 문자열이 같은지 확인하면 이 문제를 해결할 수 있습니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] inputA = br.readLine().split("");
String[] inputB = br.readLine().split("");
List<String> A = new ArrayList<>();
List<String> B = new ArrayList<>();
Collections.addAll(A, inputA);
Collections.addAll(B, inputB);
while(A.size() != B.size()){
String last = B.get(B.size()-1);
if(last.equals("A"))
B.remove(B.size()-1);
else{
B.remove(B.size()-1);
Collections.reverse(B);
}
}
boolean flag = true;
for(int i = 0; i<A.size(); i++){
if(!A.get(i).equals(B.get(i))){
flag = false;
break;
}
}
if(flag)
System.out.println(1);
else
System.out.println(0);
}
}
반응형
'알고리즘 > 그리디 알고리즘' 카테고리의 다른 글
백준 1461번 : 도서관 java (0) | 2022.08.15 |
---|---|
백준 1080번 : 행렬 java (0) | 2022.08.14 |
백준 1092번 : 배 java (0) | 2022.08.10 |
백준 2212번 : 센서 java (0) | 2022.08.09 |
백준 2437번 : 저울 java (0) | 2022.08.08 |
댓글