[백준/BOJ] 백준 5397번 : 키로거
2020. 8. 17. 10:53ㆍ알고리즘 문제풀이
https://www.acmicpc.net/problem/5397
list를 이용해 구현하였다.
코드
#include <iostream>
#include<string>
#include <list>
using namespace std;
int main()
{
cin.tie(NULL);
ios_base::sync_with_stdio(false);
int tc;
string input;
list<char> password; //리스트로 구현하였다
list<char>::iterator it;
cin >> tc;
for (int t = 0; t < tc; t++)
{
password.clear();
it = password.begin();
cin >> input;
for (int i = 0; i < input.size(); i++)
{
if (input[i] == '<')
{
if (it == password.begin())
continue;
it--;
}
else if (input[i] == '>')
{
if (it == password.end())
continue;
it++;
}
else if (input[i] == '-')
{
if (it == password.begin())
continue;
it--;
it = password.erase(it); //erase는 삭제한 것의 다음것을 가르키는것을 반환
}
else
{
password.insert(it, input[i]);
}
}
for (it = password.begin(); it != password.end(); it++)
cout << (*it);
cout << "\n";
}
return 0;
}
'알고리즘 문제풀이' 카테고리의 다른 글
[백준/BOJ] 백준 1726번 : 로봇 (0) | 2020.08.18 |
---|---|
[백준/BOJ] 백준 4991번 : 로봇 청소기 (0) | 2020.08.18 |
[백준/BOJ] 백준 1158번 : 요세푸스 문제 (0) | 2020.08.16 |
[백준/BOJ] 백준 1406번 : 에디터 (0) | 2020.08.16 |
[백준/BOJ] 백준 5427번 : 불 (0) | 2020.08.15 |