반응형
간단한 문자열 처리 문제였습니다.
풀이방법
1. cin은 '\n'를 포함해 버퍼에 넣기 때문에 처음 n을 입력받은 후 cin.clear()로 버퍼를 비워줍니다.
2. 이후 사용하는 getline함수 또한 cin을 사용하기 때문에 ignore()함수를 이용해 개행문자를 무시해줍니다.
3. 이후 첫 음절을 god으로 바꾼 후 나머지 문자를 띄어쓰기 없이 붙인 후 출력하시면 됩니다.
Code
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
cin.ignore();
while(n--){
string s;
string ans="";
int cnt = 0;
cin.clear();
getline(cin,s);
for(int i = 0; i < s.size(); i++){
string tmp = "";
int j = i;
while(s[j] != ' ' && j != s.size())
tmp += s[j++];
i = j;
if(!cnt) {
ans += "god";
cnt = 1;
continue;
}else{
ans += tmp;
}
}
cout << ans <<'\n';
}
}
'Algorithm > String' 카테고리의 다른 글
(C++) - 백준(BOJ) 6996번 : 애너그램 (0) | 2021.02.13 |
---|---|
(C++) - 백준(BOJ) 10174번 : 팰린드롬 (0) | 2021.02.13 |
(C++) - 백준(BOJ) 1871번 : 좋은 자동차 번호판 (0) | 2021.02.10 |
(C++) - 백준(BOJ) 15904번 : UCPC는 무엇의 약자일까? (0) | 2021.02.09 |
(C++) - 백준(BOJ) 1371번 : 가장 많은 글자 답 (0) | 2021.02.09 |