728x90
https://www.acmicpc.net/problem/9093
처음엔 스택을 쓸까 했는데 굳이 코드만 길어지고 덜 효율적일 것 같아 배열만 이용하였다.
#include <iostream>
#include <string>
using namespace std;
int n, sw;
string str;
int main() {
cin>>n;
cin.ignore(); // 버퍼 무시
for(int k=0; k<n; k++)
{
getline(cin, str); //라인 입력
for(int i=0; i<str.size(); i++)
{
if(str[i]==' ') //공백이 있으면
{
for(int j=i-1; str[j]!=' ' && j>=0; j--) //공백 뒤부터 거꾸로 읽으며 출력
cout<<str[j];
cout<<" ";
}
}
for(int j=str.size()-1; str[j]!=' '&&j>=0; j--) //마지막 단어 거꾸로 출력
cout<<str[j];
cout<<" \n";
}
}
처음엔 마지막 단어를 거꾸로 출력해줄 반복문을 안적었다가 왜 마지막만 안되는거지..? 생각했는데 나는 바보였다...
마지막단어 뒤에는 공백이 없으니 if문에 안걸려서 출력이 안되지;;
728x90
'알고리즘 > 문제' 카테고리의 다른 글
[백준] 1789. 수들의 합 <C++> (0) | 2020.06.07 |
---|---|
[백준] 9094. 수학적 호기심 <C++> (0) | 2020.06.03 |
구름 문제은행 (n진법) <C++> (0) | 2020.05.30 |
구름 문제은행 (진법 변환) <C++> (0) | 2020.05.30 |
[백준] 18883. N M 찍기 <C++> (0) | 2020.04.27 |
댓글