728x90
728x90
문제
https://www.acmicpc.net/problem/9093
나의 해결방법
- 주석으로 설명하였다.
- 다른 분들의 풀이를 보고 해결책을 얻었다.
#include<iostream>
#include<stack>
#include<string>
using namespace std;
int main()
{
int tc;
cin >> tc; //테스트케이스 개수
cin.ignore(); //버퍼 제거
while (tc--) {
string s = "";
getline(cin, s);
s += ' '; // 마지막 단어 뒤에 공백을 추가해줘야 마지막 단어도 st에 푸쉬해줄 수 있다.
stack<char> st;
for (int i = 0; i < s.size(); i++) {
if (s[i] == ' ') {
while (!st.empty()) {
cout << st.top();
st.pop();
}
cout << s[i]; //공백 출력
}
else
st.push(s[i]); //공백을 만날때까지 push
}
}
}
728x90
728x90
'개발 > 백준 & 프로그래머스' 카테고리의 다른 글
[백준]1978번 소수 찾기 c/c++ (0) | 2022.07.11 |
---|---|
[백준]1406번 에디터 c/c++ (0) | 2022.07.11 |
[백준]2750번 수 정렬하기 c/c++ (0) | 2022.07.05 |
[백준]1152번 단어의 개수 c/c++ (0) | 2022.07.04 |
[백준]2675번 문자열 반복 c/c++ (0) | 2022.07.02 |