Scroll indicator done
728x90

https://www.acmicpc.net/problem/12919

 

12919번: A와 B 2

수빈이는 A와 B로만 이루어진 영어 단어 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수빈

www.acmicpc.net

 

 

코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

// 처음에는 a 추가, b추가 뒤집기 둘다 재귀 안에서 호출해서 시간 초과가 났다.
// 어떻게 선택적으로 하나만 호출할 수 있을까?
// -> t 를 검사하자 -> t 문자를 제거하면서 호출하면 되겠다 의 흐름
public class Main {
    static boolean result = false;

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine();
        String t = br.readLine();

        abab(s, t);
        System.out.println(result ? 1 : 0);
    }

    public static void abab(String s, String t) {
        if (s.length() == t.length()) {
            if(s.equals(t)) {
                result = true;
            }
            return;
        }
        
        if (t.charAt(0) == 'B') {
            StringBuilder sb = new StringBuilder(t.substring(1));
            abab(s, sb.reverse().toString());
        }

        if (t.charAt(t.length() - 1) == 'A') {
            abab(s, t.substring(0, t.length() - 1));
        }
    }
}

728x90

'BAEKJOON > Java' 카테고리의 다른 글

[B1503][비슷한 단어][java]  (0) 2023.10.10
[B1503][세 수 고르기][java]  (0) 2023.10.10
[B1548][부분 삼각 수열][java]  (0) 2023.10.08
[B1149][RGB거리][java]  (0) 2023.10.08
[B14620][꽃길][Java]  (0) 2023.10.08