본문 바로가기
CS/알고리즘

백준 5397 키로거

by zieunee 2020. 2. 10.
반응형

** 배운것 

string 으로 입력 

scanf("%s",ch);

문자열 입력

printf("%c",a);

stack 은 queue 와 거의비슷 >> s.top() 할때만 큐와 다름 

 

#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<vector>
using namespace std;

stack <char> s;
stack <char> s2;
stack <char> q;

int testcase;
int main() {
	scanf("%d", &testcase);

	for (int i = 0; i < testcase; i++) {
		char ch[1000005];
		scanf("%s", ch);
		int chSize = 0;
		while (ch[chSize]!='\0') {
			chSize++;
		}
//		
		for (int j = 0; j < chSize; j++) {
			if (ch[j] == '<') {
				if (!s.empty()) {
					 q.push(s.top());
					 s.pop();
				}
			}else if (ch[j] == '>') {
				if (!q.empty()) {
					s.push(q.top());
					q.pop();
				}
			}else if (ch[j] == '-') {
				if (!s.empty()) {
					s.pop();
				}
			}else {
				s.push(ch[j]);
			}
		}

		while (!s.empty()) {
			s2.push(s.top());
			s.pop();
		}

		while (!s2.empty()) {
			printf("%c" ,s2.top());
			s2.pop();
		}
		while (!q.empty()) {
			printf("%c", q.top());
			q.pop();
		}
		printf("\n");
	
	}
		return 0;
}
반응형

'CS > 알고리즘' 카테고리의 다른 글

백준 13460 구슬탈출2  (0) 2020.02.15
백준 1986 체스  (0) 2020.02.11
백준 3098 소셜네트워크  (0) 2020.02.10
백준 14500 테트로미노  (0) 2020.01.24
백준 17142 연구소3(bfs dfs)  (0) 2019.10.27