자료구조 및 알고리즘/백준
[백준 12605] 단어순서 뒤집기
아기사우르스
2023. 2. 18. 00:14
728x90
getline은 뭐하는 함수인가
공백 구분 받아서 출력하기 쓰기
1) 구분자가 있는 경우 split으로 잘라 vector 에 넣기
#include<iostream>
#include<string>
#include<vector>
#include<sstream>
using namespace std;
int main()
{
string str="java c c++ python";
istringstream ss(str);
string stringBuffer;
vector<string> x;
x.clear();
cout<<"어떻게 잘리는지 확인해봅시다 ->";
//구분자가 , 이라면 getline(ss, stringBuffer, ',')쓰면됨
while (getline(ss, stringBuffer, ' ')){
x.push_back(stringBuffer);
cout<<stringBuffer<<" ";
}
cout<<endl<<"vector 값을 출력해보자."<<endl;
for(int i=0;i<x.size();i++){
cout<<x[i]<<endl;
}
return 0;
}
vector 함수 clear는? https://codingdog.tistory.com/entry/c-vector-clear-size%EB%A5%BC-0%EC%9C%BC%EB%A1%9C-%EB%A7%8C%EB%93%A4%EC%96%B4-%EC%A4%80%EB%8B%A4
stack에도 clear 같은 애 있는지 찾기
stack 버전으로 구현해보기 참고 자료
내 코드
#include <iostream>
#include <string>
#include <sstream>
#include <stack>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int test;
stack<string> st;
string str;
string token;
cin >> test;
cin.ignore();
for (int i = 1; i <= test; ++i) {
getline(cin, str);
stringstream sstream(str);
while (getline(sstream, token, ' ')) st.push(token);
// sstream을 token으로 나눠주는데 토큰은 ' '(공백)
cout << "Case #" << i << ": ";
while (!st.empty()) {
token = st.top();
st.pop();
cout << token << ' v';
}
cout << '\n';
}
}
728x90