728x90
반응형
https://www.acmicpc.net/problem/1406
1. Logic
문제에서 포인터를 기준으로 앞 뒤에 문자를 넣거나 삭제하기 때문에 문제를 보는 관점 자체를 아예 포인터 기준으로 나눠서 봤다.
포인터 기준으로 왼쪽에 있는 left deque 오른쪽에 있는 right deque를 선언하여 풀이했다.
2. Code
#include<bits/stdc++.h>
using namespace std;
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
deque<char>left;
deque<char>right;
string str;
int n;
cin >> str >> n;
for(int i = 0; i < str.size(); i++) {
left.push_back(str[i]);
}
for(int i = 0; i < n; i++) {
char cmd;
cin >> cmd;
if(cmd == 'L' && !left.empty()) {
right.push_front(left.back());
left.pop_back();
}
else if(cmd == 'D' && !right.empty()) {
left.push_back(right.front());
right.pop_front();
}
else if(cmd == 'B' && !left.empty()) {
left.pop_back();
}
else if(cmd == 'P') {
char c;
cin >> c;
left.push_back(c);
}
}
while(!left.empty()) {
cout << left.front();
left.pop_front();
}
while(!right.empty()) {
cout << right.front();
right.pop_front();
}
}
알고리즘 Solve 후 제가 생각한 Logic을 기록하는 개인 공부 블로그입니다.
내용 중 최적화가 가능한 부분등은 언제든지 댓글로 틀린 부분 및 피드백 주시면 공부 및 반영하겠습니다🧐
728x90
반응형
'Algorithm > Beakjoon' 카테고리의 다른 글
[백준/Baekjoon] 4179 불! C++ :: BFS (0) | 2023.10.12 |
---|---|
[백준/Baekjoon] 2146 다리 만들기 C++ :: BFS (2) | 2023.10.11 |
[백준/Baekjoon] 14921 용액 합성하기 C++ :: Tow pointer (0) | 2023.10.09 |
[백준/Baekjoon] 1477 휴게소 세우기 C++ :: Binary Search (1) | 2023.10.08 |
[백준/Baekjoon] 2295 세 수의 합 C++ :: Binary Search (1) | 2023.10.08 |