반응형
코딩하기 전 생각하기
/*
소수인지를 판별하는 함수를 선언하자.
2부터 해당 숫자가 되기 전까지의 수를 나누는데
나누어 떨어지는 수가 있으면 false를 반환한다.
3중 배열을 통해 세 개의 수를 선택하는 모든 경우의 수를 확인한다.
세 수를 더했을 때 소수가 나오면 count에 1을 더한다.
count를 반환한다.
*/
코드
#include <bits/stdc++.h>
using namespace std;
bool is_prime(int n) {
for ( int i = 2; i < n; i++ ) {
if ( n % i == 0 ) return false;
}
return true;
}
int solution(vector<int> nums) {
int count = 0;
for ( int i = 0; i < nums.size(); i++ ) {
for ( int j = i; j < nums.size(); j++ ) {
if ( i == j ) continue;
for ( int k = j; k < nums.size(); k++ ) {
if ( i == k || j == k ) continue;
if ( is_prime(nums[i] + nums[j] + nums[k]) )
count++;
}
}
}
return count;
}
느낀점
3중 반복문을 안하는 방법은 없을까?
(주의) 기록용으로 작성한 글입니다. 코드가 허접하거나 알고리즘의 효율이 낮을 수 있습니다.
댓글 환영합니다!
반응형
'Algorithm > programmers' 카테고리의 다른 글
[프로그래머스] 콜라츠 추측 (C++) (0) | 2021.07.24 |
---|---|
[프로그래머스] 방문 길이 (C++) (0) | 2021.07.24 |
[프로그래머스] 약수의 개수와 덧셈 (C++) (0) | 2021.07.23 |
[프로그래머스] 하샤드 수 (C++) (0) | 2021.07.23 |
[프로그래머스] 스킬트리 (파이썬) (0) | 2021.07.05 |
댓글