본문 바로가기
Coding Test/C++

[프로그래머스] 소수 만들기 C++ Code

by giem 2022. 8. 4.
반응형

2022.08.04 - [Coding Test/Python] - [프로그래머스] 소수 만들기 Python Code

2022.08.04 - [Coding Test/Go] - [프로그래머스] 소수 만들기 Go Code

저번 포스트에 이어 C++로 구현해보겠다.

 


문제

 

이전 Go Code와 똑같이 구현을 할 것이다.

 

3개를 뽑아야 하므로 3중 for문을 돌며 3개의 수를 뽑고

 

이 수를 더한 수가 소수인지 판별하고

 

소수라면 정답에 더하도록 할 것이다.


Code

#include <vector>
#include <cmath>
using namespace std;

int solution(vector<int> nums) {
    int answer = 0;
    int sum = 0;
    int flag = true;

    for(int n1=0;n1<nums.size();n1++)
        for(int n2=n1+1;n2<nums.size();n2++)
            for(int n3=n2+1;n3<nums.size();n3++){
                flag=true;
                sum = nums[n1]+nums[n2]+nums[n3];
                for(int div=2; div<=sqrt(sum)+1; div++){
                    if (sum%div==0){
                        flag=false;
                        break;
                    }
                }
                if(flag)
                    answer++;
            }
    return answer;
}

이전 포스트와 거의 동일하게 구현된 것을 확인할 수 있다.

반응형

댓글