문제 - https://www.acmicpc.net/problem/12904

 

12904번: A와 B

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

www.acmicpc.net

import java.io.*;
import java.util.*;

public class Main {

    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

    public static void main(String[] args) throws Exception {

        String S = br.readLine();
        String T = br.readLine();
        bw.write(can(S, T) ? "1\n" : "0\n");
        
        bw.flush();
        bw.close();
        br.close();
    }
    static boolean can(String A, String B){
        if (A.equals(B)) return true;
        else if (A.length()==B.length()) return false;
        return can(A, B.charAt(B.length()-1)=='B'? new StringBuilder(B.substring(0, B.length()-1)).reverse().toString() : B.substring(0, B.length()-1));
    }
}

발상의 전환이 필요했던 재밌는 그리디 문제였다.

'공부 > algorithm' 카테고리의 다른 글

BOJ KCM Travel(10217) - Java  (0) 2021.10.10
BOJ Yonsei TOTO(12018) - Java  (0) 2021.10.04
BOJ 소수 경로(1963) - Java  (0) 2021.09.29
BOJ 단어 수학(1339) - Java  (0) 2021.09.28
BOJ 미세먼지 안녕!(17144) - Java  (0) 2021.09.25

+ Recent posts