250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(SWEA c++)1229. [S/W 문제해결 기본] 8일차 - 암호문2 본문
728x90
반응형
list를 이용한 문제 풀이.
암호문1에서 'D' 명령어가 추가 되었다.
delete 해야 하므로 list의 erase 함수를 이용하였다.
erase 함수는 삭제한 원소의 다음 원소를 가리키는 iterator를 반환하기 때문에 지우려고 하는 위치의 iterator에 대입해주면 원하는 개수의 원소를 지울 수 있다.
#include <iostream>
#include <list>
using namespace std;
int main(void)
{
for(int t = 1; t <= 10; t++)
{
int n, x, y, s;
char c;
list<int> lt;
auto itr = lt.begin();
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> x;
lt.push_back(x);
}
cin >> n;
for(int i = 0; i < n; i++)
{
cin >> c;
if(c == 'I')
{
list<int> tmp;
itr = lt.begin();
cin >> x >> y;
for(int j = 0; j < x; j++)
itr++;
for(int j = 0; j < y; j++)
{
cin >> s;
tmp.push_back(s);
}
lt.splice(itr, tmp);
}
else if(c == 'D')
{
itr = lt.begin();
cin >> x >> y;
for(int j = 0; j < x; j++)
itr++;
for(int j = 0; j < y; j++)
itr = lt.erase(itr);
}
}
itr = lt.begin();
cout << "#" << t << " ";
for(int i = 0; i < 10; i++, itr++)
cout << *itr << " ";
cout << endl;
}
return 0;
}
728x90
반응형
'SW Expert Academy' 카테고리의 다른 글
(SWEA c++)1234. [S/W 문제해결 기본] 10일차 - 비밀번호 (0) | 2020.10.14 |
---|---|
(SWEA c++)1230. [S/W 문제해결 기본] 8일차 - 암호문3 (0) | 2020.10.13 |
(SWEA c++)1228. [S/W 문제해결 기본] 8일차 - 암호문1 (0) | 2020.10.13 |
(SWEA c++)1225. [S/W 문제해결 기본] 7일차 - 암호생성기 (0) | 2020.10.12 |
(SWEA c++)1221. [S/W 문제해결 기본] 5일차 - GNS (0) | 2020.10.12 |