https://programmers.co.kr/learn/courses/30/lessons/12977
#include <vector>
#include <iostream>
using namespace std;
int isPrime(int p){
//소수인지 판별
int flag = 1;
if(p==1) flag = 0;
else {
for(int i=2; i*i<=p; i++){
if(p%i == 0) {flag=0; break;}
}
}
return flag;
}
int solution(vector<int> nums) {
int answer = 0;
int sosu = 0;
for(int i=0; i< nums.size(); i++){
for(int j=i+1; j<nums.size(); j++){
for(int k=j+1; k< nums.size(); k++){
sosu = nums[i] + nums[j] + nums[k];
answer += isPrime(sosu);
}
}
}
return answer;
}
알고리즘을 풀때의 나의 문제점 : 단순한 부분은 단순하게 접근해서 시도해보면 좋은데 항상 어렵게 생각하려고 한다...
소수인지 판별하는 부분
if(p==1) flag = 0;
else {
for(int i=2; i*i<=p; i++){
if(p%i == 0) {flag=0; break;}
}
}