-
고민
입력형식이 ‘자료형’, ‘변수명 + 자료형의 역순’, … 이기에 공백을 기준으로 처리했다. 변수명은 영문 대소문자로 이루어져있기에 해당 조건문을 통해 변수명과 자료형을 구분해서 저장했다. 배열의 경우 역순으로 출력하면 대괄호의 방향이 바뀌니 열고 닫는 대괄호를 반대로 저장했다.
-
#include<iostream> #include<stdio.h> #include<string> #include<algorithm> using namespace std; int main() { ios::sync_with_stdio(false); string base; cin >> base; while (true) { string next; cin >> next; string value = ""; string type = ""; bool isend = false; bool isvalue = true; for (int i = 0; i < next.size(); i++) { if (isvalue == true) { if ((next[i] - '0' >= 'a' - '0' && next[i] - '0' <= 'z' - '0') || (next[i] - '0' >= 'A' - '0' && next[i] - '0' <= 'Z' - '0')) { value += next[i]; } else { isvalue = false; i--; } } else { if (next[i] == '[') { type += ']'; } else if (next[i] == ']') { type += '['; } else if (next[i] == ',') { break; } else if (next[i] == ';') { isend = true; } else { type += next[i]; } } } reverse(type.begin(), type.end()); cout << base << type << ' ' << value << ";\n"; if (isend == true) { break; } } return 0; }