#include <vector> #include <iostream> #include <math.h> using namespace std; vector<int> input; int result[3]; int answer; bool is_prime() { int n = result[0]+result[1]+result[2]; for(int i = 2; i <= sqrt(n); i++) { if(n % i == 0) { return false; } } return true; } void DFS(int idx, int cnt) { if(cnt == 3) { if(is_prime()) { answer++; } return; } for(int i = idx; i < input.size(); i++) { result[cnt] = input[i]; DFS(i+1, cnt+1); } } int solution(vector<int> nums) { input = nums; DFS(0, 0); return answer; } | cs |
'Programmers > Level 2' 카테고리의 다른 글
[프로그래머스 2] 오픈채팅방 (C/C++) (★) (0) | 2020.01.04 |
---|---|
[프로그래머스 2] 폰켓몬 (C/C++) (0) | 2020.01.04 |
[프로그래머스 2] 영어 끝말잇기 (C/C++) (1) | 2019.10.28 |
[프로그래머스 2] JadenCase 문자열 만들기 (C/C++) (0) | 2019.10.28 |
[프로그래머스 2] 행렬의 곱셈 (C/C++) (1) | 2019.10.28 |