반응형
문제는 그렇게 어렵다고 생각하지 않았지만
리스트를 정의하지 않고 선언한 뒤
리스트의 처음을 가르키는 iterator를 생성하면 어디를 가르킬까?에 대한 의문때문에
내가 답을 납득하는데에 시간이 걸렸다.
결론은 null을 가르킨다는 것이었다.
나는 list<char> L; 이렇게 선언을 했지만 답을 보니 list<char> L={ }; 로 선언을 했다.
나처럼 해도 오답은 아니지만 답 코드를 보니 null이 들어있는 한칸이 만들어지는 것이 아닐까? 하는 발상이 떠올랐다.
그렇게 계산해보고 예제를 넣고 풀어보니 논리가 맞았다.
앞으로 그렇게 생각해야지...
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(nullptr);
int fre;
cin >> fre;
for (int i = 0; i < fre; i++) {
list<char> L;
list<char>::iterator t = L.begin();
string pass;
cin >> pass;
for (auto c : pass) {
if (c == '-') {
if (t != L.begin()) { t--; t = L.erase(t); }
}
else if (c == '>') { if (t != L.end())t++; }
else if (c == '<') { if (t != L.begin())t--; }
else {
L.insert(t, c);
}
}
if(!L.empty()){for (auto i : L) cout << i ;}
cout << "\n";
}
}
반응형
'BOJ > [ BOJ ] C++' 카테고리의 다른 글
[ C++ ] #24416 알고리즘 수업 - 피보나치 수 1 (0) | 2022.11.22 |
---|---|
[ C++ ] #25305 커트라인 (0) | 2022.11.18 |
[ C++ ] #3273 ( 두 수의 합 ) (0) | 2022.02.21 |
[ C++ ] #1475 ( 방 번호 ) (0) | 2022.02.21 |
[ C++ ] #2577 ( 숫자의 개수 ) (0) | 2022.02.20 |