int check(string tmp)
{
vector<char> str;
vector<int> num;
int ans = 0;
int n = tmp.size();
for (int i = 0; i < n; i++)
{
if (tmp[i] == '0')
{
if (!str.empty())
{
int t = 0;
for (int j = 0; j < str.size(); j++)
{
t *= 10;
t += str[j] - '0';
}
str.clear();
num.push_back(t);
}
}
else
{
str.push_back(tmp[i]);
}
}
if (!str.empty())
{
int t = 0;
for (int j = 0; j < str.size(); j++)
{
t *= 10;
t += str[j] - '0';
}
num.push_back(t);
}
for (int i = 0; i < num.size(); i++)
{
if (prime(num[i]))
{
ans++;
}
}
return ans;
}

1,3번은 풀었는데 이거 테케 1개가 잘못돼서 2시간을 몰두했는데 못 풀었네요 흑흑

진수변환이랑 소수판별자체는 괜찮은데 0이랑 섞여있는거 구분해는게 잘못됐나? ㅠ ㅠ 뭐가 잘못된 걸까유

2학년이니까 가혹한 말은 삼가해주시면 감사하겠습니다