fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <stack>
  4.  
  5. using namespace std;
  6.  
  7. int main(void)
  8. {
  9. int n;
  10. cin >> n;
  11. cin.ignore(); //입력 버퍼 지워주기(cin 사용 후 \n가 입력버퍼에 남아있어서 getline에서 입력 처리가 된다.)
  12. while (n--)
  13. {
  14. string arr;
  15. getline(cin, arr); //띄어쓰기 포함한 문자열 입력
  16. arr += ' '; //문장의 끝도 변화시키기 위함
  17. stack<char> s;
  18.  
  19. for (char ch : arr) //배열 arr의 값을 순차적으로 ch에 저장
  20. {
  21. if (ch == ' ') //문장의 중간 혹은 끝
  22. {
  23. while (!s.empty()) //스택이 비워질 때까지
  24. {
  25. cout << s.top();//문자 출력
  26. s.pop();
  27. }
  28. cout << ch; //띄어쓰기 출력
  29. }
  30. else //띄어쓰기가 입력이 안될 때
  31. s.push(ch);
  32. }
  33. }
  34. return 0;
  35. }
Success #stdin #stdout 0.01s 4780KB
stdin
2
I am happy today
We want to win the first prize
stdout
I ma yppah yadot eW tnaw ot niw eht tsrif ezirp