250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(SWEA c++)4676. 늘어지는 소리 만들기 본문
728x90
반응형
문자열에서 원하는 위치에 "-"을 삽입해야 한다.
우선 문자열로 받아오고, n개 만큼 "-"를 넣기 위해 for문을 사용.
삽입할 인덱스를 저장하는 벡터(v)를 선언하여 인덱스를 저장한다.
v를 오름차순으로 정렬하고 for문으로 문자열의 위치에 "-"을 넣으면 된다.
만약 v[i] == len이라면 맨 뒤에 "-"를 넣어주면 되고,
아니라면 해당 인덱스 + (현재까지 "-"를 넣은 개수)의 위치에 "-"를 넣어주면 된다.
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
using namespace std;
int main(void)
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
int t;
cin >> t;
for(int tc = 1; tc <= t; tc++)
{
string s;
int n, len, cnt = 0;
vector<int> v;
cin >> s;
cin >> n;
len = s.size();
for(int i = 0; i < n; i++)
{
int tmp;
cin >> tmp;
v.push_back(tmp);
}
sort(v.begin(), v.end());
for(int i = 0; i < n; i++)
{
if(v[i] == len)
s += "-";
else
s.insert(v[i] + cnt++, "-");
}
cout << "#" << tc << " " << s << endl;
}
return 0;
}
728x90
반응형
'SW Expert Academy' 카테고리의 다른 글
(SWEA c++)4751. 다솔이의 다이아몬드 장식 (0) | 2020.11.13 |
---|---|
(SWEA c++)4698. 테네스의 특별한 소수 (0) | 2020.11.13 |
(SWEA c++)4579. 세상의 모든 팰린드롬 2 (0) | 2020.11.11 |
(SWEA c++)4522. 세상의 모든 팰린드롬 (0) | 2020.11.11 |
(SWEA c++)4466. 최대 성적표 만들기 (0) | 2020.11.11 |