string 배열의 index를 돌면서 해당 값이 a, e, i, o, u인 경우에 erase 함수를 이용하여 해당 index를 삭제했다.
처음엔 erase 기능을 하는 함수가 있을 것 같다곤 생각했는데 확실히 몰라서 밑 코드로 풀었다가 PASS 하고 난 뒤에 erase 함수를 찾아서 코드를 수정했다.
for (int j = i; j < inputStr.length(); j++) {
if (j == inputStr.length() - 1) inputStr[j] = '0';
else inputStr[j] = inputStr[j + 1];
}
string 헤더파일의 내장 함수인 erase(i, j)는 배열의 i index부터 j개를 삭제한다는 의미이다.
#include <iostream>
#include <ios>
#include <string>
using namespace std;
string getResult();
string inputStr;
int main() {
cin.tie(0); ios::sync_with_stdio(0);
int T; cin >> T;
for (int tc = 1; tc <= T; tc++) {
cin >> inputStr;
cout << '#' << tc << ' ' << getResult() << "\n";
}
return 0;
}
string getResult() {
for (int i = 0; i < inputStr.length(); i++) {
if (inputStr[i] == 'a' || inputStr[i] == 'e' || inputStr[i] == 'i' || inputStr[i] == 'o' || inputStr[i] == 'u') {
inputStr.erase(i, 1);
i--;
}
}
string result = "";
for (int i = 0; i < inputStr.length(); i++) {
if (inputStr[i] == '0') break;
else result += inputStr[i];
}
return result;
}
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA] 2805. 농작물 수확하기 (0) | 2019.05.06 |
---|---|
[SWEA] 3456. 직사각형 길이 찾기 (0) | 2019.05.05 |
[SWEA] 1211. [S/W 문제해결 기본] 2일차 - Ladder2 (0) | 2019.05.01 |
[SWEA] 1210. [S/W 문제해결 기본] 2일차 - Ladder1 (0) | 2019.04.30 |
[SWEA] 1209. [S/W 문제해결 기본] 2일차 - Sum (0) | 2019.04.29 |
댓글