swexpert
[swexpert] 1230. 암호문3 (C++, 연결리스트)
해랑쓰
2021. 10. 5. 16:18
728x90
반응형
연결리스트를 구현을 하면 좋으련만 c++을 다시 공부하면서 stl도 아직 모르는게 많아서
문제 많이 풀면서 익숙해지는게 먼저인 것 같다.
#define _CRT_SECURE_NO_DEPRECATE
#include <iostream>
#include <string>
#include <list>
using namespace std;
int main(void) {
ios::sync_with_stdio(false);
cin.tie(NULL);
for (int tc = 1; tc <= 10; tc++) {
list<int> l;
int n,x,y,cur;
char tmp;
cin >> n; // 암호문 길이
for (int i = 0; i < n; i++) {
cin >> x;
l.push_back(x);
}
cin >> n; //명령어 개수
while (n--) {
cin >> tmp;
if (tmp == 'I') {
cin >> x >> y;
auto iter = l.begin();
for (int i = 0; i < x; i++) {
iter++;
}
for (int i = 0; i < y; i++) {
cin >> cur;
l.insert(iter, cur);
/*iter++;*/
}
}
else if (tmp == 'D') {
cin >> x >> y;
auto iter = l.begin();
for (int i = 0; i < x; i++) {
iter++;
}
for (int i = 0; i < y; i++) {
iter=l.erase(iter); // 지운 다음의 인덱스를 다시 업데이트 해줘야된다.
}
}
else if (tmp == 'A') {
cin >> y;
for (int i = 0; i < y; i++) {
cin >> cur;
l.push_back(cur);
}
}
}
cout << "#" << tc << " ";
auto iter = l.begin();
for (int i = 0; i < 10; i++) {
cout << *iter << " ";
iter++;
}
cout << "\n";
}
return 0;
}
728x90
반응형