반응형
#include <string>
#include <vector>
#include <cmath>
#include <algorithm>
using namespace std;
int solution(int n, int k) {
int answer = 0;
// 스트링을 이용해서 k진수로 변환
string Convert = "";
while (n > 0)
{
Convert += to_string(n % k);
n /= k;
}
reverse(Convert.begin(), Convert.end());
string AddString = "";
for (char Text : Convert)
{
if (Text == '0')
{
if (!AddString.empty())
{
long long LNumber = stoll(AddString);
bool Enable = true;
if(LNumber < 2)
{
Enable = false;
}
for (int i = 2; i <= sqrt(LNumber); ++i)
{
if (LNumber % i == 0)
{
Enable = false;
}
}
if (Enable)
++answer;
AddString = "";
}
}
else
{
AddString += Text;
}
}
if (!AddString.empty())
{
long long LNumber = stoll(AddString);
bool Enable = true;
if(LNumber < 2)
{
Enable = false;
}
// 반복문 조건쪽에 계속해서 함수변환하는거 방지차원으로
// 반복문 밖에서 계산 후 넣어줌.
int sqrtNumb = sqrt(LNumber);
for (int i = 2; i <= sqrtNumb; ++i)
{
if (LNumber % i == 0)
{
Enable = false;
}
}
if (Enable)
++answer;
}
return answer;
}
반응형
'프로그래머스 > lv2' 카테고리의 다른 글
프로그래머스 : 영어 끝말잇기(lv2) C++ (0) | 2022.10.19 |
---|---|
프로그래머스 : 카카오프렌즈 컬러링북 (lv2) C++ (0) | 2022.10.06 |
프로그래머스 : 괄호 회전하기 (lv2) C++ (0) | 2022.10.06 |
프로그래머스 : 멀리 뛰기 (lv2) (0) | 2022.10.06 |
프로그래머스 : 짝지어 제거하기 (lv2) (0) | 2022.10.06 |
댓글