728x90
https://www.acmicpc.net/problem/12904
풀이
문자 2번을 1번이 되도록 하면서 풀면 됩니다.
1번문자에서 2번문자가 될려면 A나 B를 1개 무조건 추가하는 식이므로, 반대로 2번에서 1번이 될려면 A나 B를 빼줍니다.
대신 B를 뺄려면 문자를 뒤집어줘야한다.
1번문자와 2번문자의 길이가 같을 때, 문자가 서로 같으면 1, 아니면 0을 리턴하는 함수를 작성합니다.
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print(solve(br.readLine(), br.readLine()));
}
public static int solve(String a, String b) {
while(true) {
if(a.length() == b.length()) {
if(a.equals(b)) {
return 1;
}
return 0;
}
char c = b.charAt(b.length() - 1);
b = b.substring(0, b.length() - 1);
if(c == 'B') {
b = new StringBuilder(b).reverse().toString();
}
}
}
}
728x90
'백준 > 10001 - 15000' 카테고리의 다른 글
[백준] 12015번 : 가장 긴 증가하는 부분 수열2(JAVA) (0) | 2021.09.09 |
---|---|
[백준] 14925번 : 목장 건설하기(JAVA) (0) | 2021.09.08 |
[백준] 11660번 : 구간 합 구하기 5(JAVA) (0) | 2021.08.23 |
[백준] 11868번 : 님 게임2(JAVA) (0) | 2021.08.11 |
[백준] 11726번 : 2Xn 타일링(JAVA) (0) | 2021.08.07 |
댓글