Search
Duplicate
🍋

단어 뒤집기 2

주차
19
문제번호
17413
언어
C++
티어
실버
유형
자료구조
nj_Blog
nj_상태
이해도
풀이
풀이 O
사람
13 more properties

Memo

생각보다 까다로운 문제...
'<'를 만났을 때와 ' '를 만났을 경우를 한번에 처리하긴 어려운 것 같다.

Code

제출 날짜

@5/7/2021

메모리

2516 KB

시간

0 ms
#include <deque> #include <iostream> #include <string> #include <vector> std::string str; std::string res; std::deque<char> deq; void output() { std::cout << res; } void solution() { for (size_t i = 0; i < str.size(); ++i) { if (str[i] == '<') { while (str[i] != '>') { res += str[i]; ++i; } res += str[i]; } else { while (str[i] != '<' && str[i] != ' ' && i < str.size()) { deq.push_front(str[i]); ++i; } while (!deq.empty()) { res += deq.front(); deq.pop_front(); } if (str[i] == ' ') res += str[i]; if (str[i] == '<') --i; } deq.clear(); } while (!deq.empty()) { res += deq.front(); deq.pop_front(); } } void input() { getline(std::cin, str); res = ""; } void preset() { std::ios_base::sync_with_stdio(false); std::cin.tie(0); std::cout.tie(0); } int main() { preset(); input(); solution(); output(); }
C++
복사