
문자열 처리 관련 문제. C++ 기본적인 지식만 있으면 쉽게 풀수있는 문제이다.
입력받은 문자열을 공백을 기준으로 자르고
주어진 숫자위치에 있는 문자를 지우면 된다.
문제를 풀고나서 생각되는게 substr 보단 erase 쓰는게 더 좋았을 것 같다.
C++를 아직 배우는 단계라 좀 헷갈리는 부분이 있었는데.
cin 으로 인풋을 한 다음에 getline 으로 또 인풋을 받으려니까 오류가 났었다.
getline() 하기 전에 꼭 cin.ignore()를 해줘야 제대로 입력을 받을 수 있다.
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(){
int t;
cin >> t;
cin.ignore();
vector<string> v;
for(int i=0; i<t; i++){
string input;
getline(cin, input);
int pos = input.find(" ");
string number = input.substr(0, pos);
input = input.substr(pos + 1, input.length() - pos);
pos = stoi(number);
string output;
output += input.substr(0, pos-1);
output += input.substr(pos, input.length()-pos);
v.push_back(output);
}
for(int i=0; i<t; i++){
cout << i+1 << " " << v[i] << endl;
}
}