[ 백준 ] 12904 A와 B

codesver·2023년 7월 11일
0

Baekjoon

목록 보기
48/72
post-thumbnail

📌 Problem

2개의 문자열이 주어졌을 때 첫 번째 문자열이 두 번째 문자열로 변환이 가능한지를 확인하면된다. 문자열 변환은 2가지 방법으로 이루어진다.

  • 문자열 끝에 A를 추가한다.
  • 문자열을 뒤집고 끝에 B를 추가한다.

📌 Solution

첫 번째 문자열을 두 번째 문자열로 만드는 것이 아니라 두 번째 문자열을 역으로 첫 번째 문자열로 변환가능한지 확인하면 된다. 만약 두 번째 문자열의 마지막 문자가 A이면 A를 제거한다. 만약 B라면 B를 제거하고 문자열을 뒤집는다. 이를 반복하다가 첫 번째 문자열과 길이가 같아지면 두 문자열을 비교하면 된다.

📌 Code

private boolean canConvert(String initString, String finString) {
    StringBuilder fin = new StringBuilder(finString);
    while (fin.length() > initString.length())
        if (fin.charAt(fin.length() - 1) == 'A') fin.deleteCharAt(fin.length() - 1);
        else fin.deleteCharAt(fin.length() - 1).reverse();
    return fin.toString().equals(initString);
}
profile
Hello, Devs!

0개의 댓글