는 훼이크고 파이썬 fstring 형식의 문자열을 입력하면 C++에서 사용할 수 있는 형태로 변환해주는 함수를 만들어왔음.

반례 있으면 신고좀


#include <string>

#include <iostream>

#include <vector>

std::string fstyle(std::string s){

std::string ret;

std::string now;

bool opened=false, closed = false, opened_now = false, closed_now = false;

for(int i=0;i<s.size();i++){

if(s[i]=='{'){

if(opened_now){

if(ret!="") ret+="+";

ret+="\"{\"";

opened_now=false;

} else{

if(ret!="") ret+="+";

ret+="\""+now+"\"";

now="";

opened_now=true;

opened=true;

}

} else if(s[i]=='}'){

if(opened){

if(ret!="") ret+="+";

ret+="to_string("+now+")";

now="";

} else if(closed_now){

if(ret!="") ret+="+";

ret+="+\"}\"";

closed_now=false;

} else if(closed){

return "";

} else{

closed=true;

}

} else{

opened_now=false;

closed_now=false;

now+=s[i];

}

}

if(now!=""){

if(ret!="") ret+="+";

ret+="\""+now+"\"";

}

return ret;

}

int main(){

std::string s;

std::cin>>s;

std::cout<<fstyle(s);

}