250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(SWEA c++)1229. [S/W 문제해결 기본] 8일차 - 암호문2 본문
728x90
반응형
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
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 |