๐ฟ ๋ฌธ์
๐ฟ ํด๊ฒฐ ๋ฐฉ๋ฒ
๊ฒฝ์ฐ๋ ํฌ๊ฒ 3๊ฐ์ง๋ก ๋๋์ด์ ๋ณด๋ฉด ๋๋ค.
'<'
๊ธฐํธ๋ฅผ ๋ง๋ ๊ฒฝ์ฐ- ๋จ์ด ์ฌ์ด์ ์๋
๊ณต๋ฐฑ
๋ฌธ์๋ฅผ ๋ง๋ ๊ฒฝ์ฐ ์๋ฌธ์
or์ซ์
๋ฅผ ๋ง๋ ๊ฒฝ์ฐ
์ฒซ๋ฒ์งธ ๊ฒฝ์ฐ
์๋ ์คํ์ ์ ์ฅ๋ ๋ฌธ์๋ค์ด ์๋์ง ํ์ธํ๊ณ , ์๋ค๋ฉด ํ๋์ฉ ๋ฝ์์ ์ถ๋ ฅํ๋ค.
์คํ์ ์ ์ ํ์ถ ๋ฐฉ์์ด๋ฏ๋ก ํ๋์ฉ ๋ฝ์์ ์ถ๋ ฅํ๋ฉด ๊ทธ๊ฒ ๊ฑฐ๊พธ๋ก ์ถ๋ ฅํ๋ ๊ฒ์ด ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ซ๋ ํ๊ทธ '>'๋ฅผ ๋ง๋ ๋๊น์ง ๋์ค๋ ๋ชจ๋ ์๋ฌธ์, ๊ณต๋ฐฑ, ์ซ์๋ฅผ ๊ทธ๋๋ก ์ถ๋ ฅํ๋ค.
๋๋ฒ์งธ ๊ฒฝ์ฐ
๋ ๋จ์ด ํ๋๊ฐ ๋๋ฌ๋ค๋ ๋ป์ด๊ธฐ ๋๋ฌธ์ ์คํ์ ์ ๊ฒํ๊ณ ๋น์ด์์ง ์๋ค๋ฉด ๋ชจ๋ ์ถ๋ ฅํด์ค๋ค.
์ธ๋ฒ์งธ ๊ฒฝ์ฐ
๋ ๊ทธ๋ฅ ์คํ์ ๋ฐ๋ก ์ถ๊ฐํ๋ค.
๋ง์ง๋ง์ผ๋ก ์คํ์ด ๋น์ด์๋์ง ๋ค์ ํ๋ฒ ํ์ธํ ํ, ๋จ์์๋ ๋ฌธ์๊ฐ ์๋ค๋ฉด ์ถ๋ ฅํด์ค๋ค.(๋ง์ง๋ง ๋จ์ด)
ํ ๊ฐ์ง ์ฃผ์ํ ๋ถ๋ถ์ ์ ๋ ฅ ๋ฌธ์ s์ ๊ณต๋ฐฑ์ด ์์ ์ ์๊ธฐ ๋๋ฌธ์ getline์ ํตํด ๋ฐ๋์ ๊ณต๋ฐฑ์ ํฌํจํด์ ์ ๋ ฅ๋ฐ์์ผ ํ๋ค.
๐ฟ ๋ด ์ฝ๋
// [17413] ๋จ์ด ๋ค์ง๊ธฐ2
// ๊ตฌํ, ๋ฌธ์์ด, ์คํ
#include <iostream>
#include <stack>
using namespace std;
stack<char> wordStack;
void printStack()
{
while(!wordStack.empty()) {
cout << wordStack.top();
wordStack.pop();
}
}
void go(string s)
{
for(int i = 0; i < s.size(); i++) {
if(s[i] == '<') {
printStack();
cout << s[i];
while(s[i] != '>') {
cout << s[++i];
}
}
else if(s[i] == ' ') {
printStack();
cout << s[i];
}
else { // ์๋ฌธ์, ์ซ์
wordStack.push(s[i]);
}
}
printStack();
}
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
char s[100005];
cin.getline(s, 100005);
go(s);
return 0;
}
'Baekjoon > ๋ฌธ์์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[2757] ์์ (C++) (0) | 2022.06.29 |
---|---|
[20291] ํ์ผ ์ ๋ฆฌ (0) | 2022.06.21 |
[1157] ๋จ์ด ๊ณต๋ถ (0) | 2020.06.27 |
[11720] ์ซ์์ ํฉ(C / C++) (0) | 2020.06.27 |
[8958] OXํด์ฆ (0) | 2020.06.22 |