본문 바로가기

ALGORITHM

백준 12904 A와 B (Java)

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);
		}
		
	}
}

 

'ALGORITHM' 카테고리의 다른 글

백준 1749 점수따먹기 (Java)  (0) 2023.09.04
백준 1238 파티 (Java)  (0) 2023.09.03
백준 1188 음식 평론가 (Java)  (0) 2023.09.01
백준 22945 팀 빌딩 (Java)  (0) 2023.07.09
백준 8983 사냥꾼 (Java)  (0) 2023.07.07