티스토리 뷰

#include <stdio.h>
#include <string.h>

int main(void)
{
	char s[1005] = {};
	char t[1005] = {};
	scanf("%s", s);
	scanf("%s", t);
	
	int s_len = strlen(s);
	int t_len = strlen(t);
	
	for(int i = t_len-1; i>s_len-1; i--) { //t->s 로 맨 뒤를 제거하면서
		if(t[i] == 'B') { //마지막이 B이면 앞에 것을 뒤집기
			t[i] = 0; //마지막거 지우기
			char tmp[1005] = {};
			for(int j = 0; j<i; j++) tmp[i-1-j] = t[j]; //뒤집기
			for(int j = 0; j<i; j++) t[j] = tmp[j]; //뒤집기
		} else t[i] = 0; //마지막이 A이면 마지막거 지우기
	}
	
	int i = 0;
	for(i = 0; i<s_len; i++) if(s[i] != t[i]) break; //문자열 s, t비교
	if(i==s_len) printf("1"); 
	else printf("0");
    return 0;
}

 

풀이 : 문자열 t에서 맨 뒤에 것을 제거하면서, 문자열 s와 같은 길이로 만든 뒤, 서로가 같은지를 비교한다.

1) 문자열들 입력

2) 문자열 t 맨뒤에 것을 하나 씩 제거, B일 경우 앞의 문자들의 순서를 바꿈

3) 문자열 t을 같은 길이로 만든 후, 문자열 s와 비교

4) 같으면 1, 아니면 0을 출력

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함