반응형
문제 링크 : https://www.acmicpc.net/problem/6438
문제 풀이
투 포인터 알고리즘을 이용하여 0번째 인덱스와 마지막 인덱스를 차례대로 바꿔가며 문자열을 바꿔준다.
공백 포함 문자열을 입력받기 위해 getline을 사용하였고 첫 번째 문자열의 수를 입력받을 때 cin을 사용하면 개행문자 '\n'이 들어가있기 때문에 cin.ignore()로 제거해준다.
소스 코드
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
int n;
cin >> n;
cin.ignore();
for(int i=0; i<n; i++){
string s;
getline(cin, s);
int st = 0, en = s.size() - 1;
while(st < en) {
char tmp = s[st];
s[st] = s[en];
s[en] = tmp;
st++;
en--;
}
cout << s << '\n';
}
}
반응형
'Programming Solve > BOJ' 카테고리의 다른 글
BOJ 2003 - 수들의 합 2 / C++ (0) | 2022.02.21 |
---|---|
BOJ 2559 - 수열 / C++ (0) | 2022.02.20 |
BOJ 2667 - 단지 번호 붙이기 / C++ (0) | 2022.02.13 |
BOJ 1697 - 숨바꼭질 / C++ (0) | 2022.02.12 |
BOJ 1260 - DFS와 BFS / C++ (0) | 2022.02.10 |