Notice
Recent Posts
Recent Comments
Link
bdfgdfg
[레벨 1] 소수 만들기 본문
반응형
#include <vector>
#include <iostream>
using namespace std;
bool IsPrime(int num)
{
for(int prime = 2; prime < num; ++prime)
{
if(num % prime == 0)
return false;
}
return true;
}
int solution(vector<int> nums) {
int answer = 0;
int len = nums.size();
// 2 3 5 7
int i,j,k,num;
for(i = 0; i < len; ++i)
{
for(j = i + 1; j < len; ++j)
{
for(k = j + 1; k < len; ++k)
{
if(IsPrime(num = nums[i] + nums[j] + nums[k]))
++answer;
}
}
}
return answer;
}
IsPrime함수에서 굳이 num까지 돌 필요없이 반으로 나눈 후 그 사이에서 판별해도 된다. (처리시간이 많이줄어듬)
bool IsPrime(int num)
{
int len = num / 2;
for(int prime = 2; prime < len; ++prime)
{
if(num % prime == 0)
return false;
}
return true;
}
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[레벨 1 ] 최소직사각형 만들기 (0) | 2021.11.01 |
---|---|
[레벨 1] 크레인 인형뽑기 (0) | 2021.10.29 |
[레벨 1] 나머지가 1이 되는 수 찾기 (0) | 2021.10.28 |
[레벨 1] 키패드 누르기 (0) | 2021.10.27 |
[레벨 1] 신규 아이디 추천 (0) | 2021.10.27 |
Comments