티스토리 뷰

백준

백준 소스코드 [C++] 5397 키로거

Hani_Levenshtein 2020. 8. 19. 00:07

https://www.acmicpc.net/problem/5397

 

5397번: 키로거

문제 창영이는 강산이의 비밀번호를 훔치기 위해서 강산이가 사용하는 컴퓨터에 키로거를 설치했다. 며칠을 기다린 끝에 창영이는 강산이가 비밀번호 창에 입력하는 글자를 얻어냈다. 키로거�

www.acmicpc.net

백준 소스코드 [C++] 5397 키로거

#include <iostream>
#include <stack>
#include <string>
#include <vector>
#include <deque>
using namespace std;
int main() {
	int n;
	string xx;
	deque <char> s1;
	stack <char> s2;
	cin >> n;
	for (int i = 0;i < n;i++) {
		cin >> xx;
		for (int j = 0;j < (int)xx.length();j++) {
			if (xx[j] == '<') {
				if (s1.empty() != true) {
					s2.push(s1.back());
					s1.pop_back();
				}
				else continue;
			}
			else if (xx[j] == '>') {
				if (s2.empty() != true) {
					s1.push_back(s2.top());
					s2.pop();
				}
				else continue;
			}
			else if (xx[j] == '-'){
				if (s1.empty() != true) {
					s1.pop_back();
				}
				else continue;
			}
			else s1.push_back(xx[j]);
		}
		while (s2.empty() != true) {
			s1.push_back(s2.top());
			s2.pop();
		}
		while (s1.empty() != true) {
			cout << s1.front();
			s1.pop_front();
		}
		printf("\n");

	}
	return 0;
}
댓글