ALGORITHM

백준 12904 A와 B (Java)

공부하는_다온 2023. 9. 2. 20:25

1. 문제 링크

 

12904번: A와 B

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

www.acmicpc.net

 

2. 문제 및 입출력예제

 

3. 문제 풀이

1. A로 B를 만들기에는 매번 2연산씩 하면서 계산이 많아질 것으로 생각했다.

2. B의 마지막 자리를 확인하고 그 문자에 따른 연산을 실시했다.

    2-1. 마지막 문자를 저장한다.

    2-2. 마지막 문자를 문자열에서 지운다.(deleteCharAt())

    2-3. 마지막 문자가 B였다면 뒤집는다. (reverse())

3. 남은 문자열이 같은 경우에 1을 출력하고, 다르다면 0을 출력한다

 

4. 코드

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));		
		StringBuffer A = new StringBuffer(br.readLine());
		StringBuffer B = new StringBuffer(br.readLine());

		//길이가 같아질 때까지 반복
		char temp;
		while(A.length()<B.length()) {
			temp = B.charAt(B.length()-1);
			B.deleteCharAt(B.length()-1);
			if(temp == 'B'){
				B.reverse();
			}
		}
		
		if(A.toString().equals(B.toString())) {
			System.out.println(1);
		}
		else {
			System.out.println(0);
		}
		
	}
}