Algorithm/알고리즘 문제풀이
BOJ) 3568 - iSharp
포도 동
2020. 6. 26. 16:03
https://www.acmicpc.net/problem/3568
3568번: iSharp
문제 선영이는 C, C++, Java와는 다른 아주 세련된 언어를 만들었다. 선영이는 이 아름답고 예술적인 언어의 이름을 i#으로 정했다. i#은 기본 변수형과 배열([]), 참조(&), 포인터(*)를 제공한다. 배열
www.acmicpc.net
C++ 소스 코드
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main(){
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
string s;
getline(cin, s);
vector<string> a;
string now = "";
for(int i=0;i<s.size();i++){
if (s[i]==' ' || s[i]==',' || s[i]==';'){
if (now.length() > 0) {
a.push_back(now);
}
now = "";
}
else now+=s[i];
}
string base = a[0];
for (int i=1; i<a.size(); i++) {
string t = base;
string s = a[i];
while (s.length() > 0 && !('a' <= s.back() && s.back() <= 'z')) {
if (s.back() == '[') {
t += ']';
} else if (s.back() == ']') {
t += '[';
} else {
t += s.back();
}
s.pop_back();
}
cout << t << ' ' << s << ';' << '\n';
}
}