#include <vector>
using namespace std;
vector<int> Select(vector<int> number,int size)
{
++number[2];
// 위치에 따른 픽 변경
if (size == number[2])
{
++number[1];
number[2] = number[1] + 1;
if (size - 1 == number[1])
{
++number[0];
number[1] = number[0] + 1;
number[2] = number[0] + 2;
if (size - 2 == number[0])
return vector<int>({ 0,0,0 });
}
}
return number;
}
bool Isdecimal(int number)
{
if (number == 1)
return false;
// 소수인지 확인
for (int i = 2; i < number; ++i)
{
if (number % i == 0)
return false;
}
return true;
}
int solution(vector<int> nums)
{
int answer = 0;
int num = 0;
int size = nums.size();
vector<int> number = {0,1,2};
while (number[2])
{
// 벡터 위치에 따른 픽
num = nums[number[0]] + nums[number[1]] + nums[number[2]];
if (Isdecimal(num))
++answer;
number = Select(number, size);
}
return answer;
}
'오늘의 알고리즘' 카테고리의 다른 글
[C++]힙(Heap) 더 맵게(프로그래머스 2레벨) (0) | 2022.01.30 |
---|---|
[C++]스택/큐 기능개발(프로그래머스 2레벨) (0) | 2022.01.30 |
[C++]Summer/Winter Coding(2019)멀쩡한 사각형 (0) | 2022.01.28 |
[C++]월간 코드 챌린지 시즌1 내적(프로그래머스 1레벨) (0) | 2022.01.28 |
[C++]월간 코드 챌린지 시즌2 음양 더하기(프로그래머스 1레벨) (0) | 2022.01.28 |