function solution(nums) {
var len = nums.length
var answer =0;
for(var i=0;i<=len-3;i++)
{
for(var j=i+1;j<=len-2;j++)
{
for(var k=j+1;k<=len-1;k++)
{
var cnt = nums[i]
cnt += (nums[j]+nums[k])
if(primenumber(cnt))
{
answer++;
}
}
}
}
return answer
}
function primenumber(num)
{
var flag=true;
var ener = Math.floor(Math.sqrt(num))
for(var i=2;i<=ener;i++)
{
if(num%i===0)
{
flag =false
return flag
}
}
return flag
}
solution([1,2,3,4])
for 문을 4번이나 돌아야되는 끔찍한 나의 코드!
더 좋은 방법이 없을까?!
소수 관련 문제가 나오면 제곱근까지만 검사해도 되는 것을 기억하자
'ComputerScience > Algorithm' 카테고리의 다른 글
| [프로그래머스] 점프와 순간이동 (0) | 2020.05.21 |
|---|---|
| Hashing (0) | 2020.05.21 |
| [프로그래머스]멀쩡한 사각형 (0) | 2020.05.19 |
| 이진트리 (0) | 2020.05.16 |
| Non-Comparison Sorting (0) | 2020.05.11 |