반응형
https://www.acmicpc.net/problem/5397
참고
- BOJ 5397 : 키로거 with 세그먼트 트리, 링크드 리스트
풀이는 BOJ 1406 : 에디터와 동일하므로 참고하자.
입력을 받는 방식과 문자열의 크기만 바꾸면 된다.
#include <stdio.h>
int T;
char str[1001000];
char stack1[1001000];
char stack2[1001000];
int sp1, sp2;
int main(void)
{
scanf("%d", &T);
for (int tc = 0; tc < T; tc++)
{
scanf("%s", str);
int len;
for (len = 0; str[len]; len++);
sp1 = sp2 = 0;
char ch, tmp;
for (int i = 0; i < len; i++)
{
ch = str[i];
if (ch == '<')
{
if (sp1) stack2[sp2++] = stack1[sp1-- - 1];
}
else if (ch == '>')
{
if (sp2) stack1[sp1++] = stack2[sp2-- - 1];
}
else if (ch == '-')
{
if (sp1) sp1--;
}
else
{
stack1[sp1++] = ch;
}
}
for (int i = 0; i < sp1; i++) printf("%c", stack1[i]);
for (int i = sp2 - 1; i >= 0; i--) printf("%c", stack2[i]);
putchar('\n');
}
return 0;
}
반응형
'알고리즘 > BAEKJOON' 카테고리의 다른 글
BOJ 1572, 9426 : 중앙값 측정 (0) | 2023.01.19 |
---|---|
BOJ 1655 : 가운데를 말해요 with 세그먼트 트리 (0) | 2023.01.19 |
BOJ 2357 : 최솟값과 최댓값 (0) | 2023.01.16 |
BOJ 10868 : 최솟값 (0) | 2023.01.16 |
BOJ 1708 : 볼록 껍질 (0) | 2022.12.28 |
댓글