🙅♀️ 틀린 코드
import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); String t = br.readLine(); Stack<String> stack = new Stack<>(); stack.push(s); boolean answer = false; while(!stack.isEmpty()){ String now = stack.pop(); if(now.length()==t.length()){ if(now.equals(t)){ answer = true; } } else{ StringBuilder sbA = new StringBuilder(now).append('A'); StringBuilder sbB = new StringBuilder(now).reverse().append('B'); stack.push(sbA.toString()); stack.push(sbB.toString()); } } System.out.println(answer ? "1":"0"); } }
endsWith
를 썼다는 점.equals
함수로 비교하면 끝.🙆♀️ 정답 코드
import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String s = br.readLine(); String t = br.readLine(); while(s.length()<t.length()){ StringBuilder sb = new StringBuilder(); if(t.endsWith("A")){ t=t.substring(0,t.length()-1); }else if(t.endsWith("B")){ t = t.substring(0,t.length()-1); t = sb.append(t).reverse().toString(); } } if(s.equals(t)){ System.out.println(1); } else{ System.out.println(0); } } }