Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

Study

프로그래머스-소수 만들기 본문

알고리즘/C++ 문제풀이

프로그래머스-소수 만들기

^_^? 2021. 7. 12. 13:47

 

 

코딩테스트 연습 - 소수 만들기

주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때

programmers.co.kr

 

 

<풀이>

더보기

#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;

bool prime(int x){
   
    if(x == 0 || x == 1) return 0;
   
       for(int i=2; i<x; i++){
           if(x % i == 0){
               return 0; 
           }
       }
    
   return 1; 
  
}


int solution(vector<int> nums) {
    int answer = 0;
    int res = 0;
    vector<int> v;
    
    for(int i=0; i<nums.size()-2; i++){
      for(int j=i+1; j<nums.size()-1; j++){
         for(int k = j+1; k<nums.size(); k++){
                res+=nums[i]+nums[j]+nums[k];
                v.push_back(res);
                res = 0;
         }
      }
    }

    for(int i=0; i<v.size(); i++){
       if(prime(v[i])) answer++;
    }
    
    return answer;
}