[알고리즘] (프로그래머스) 소수 만들기

이용찬·2021년 12월 29일
0

알고리즘

목록 보기
15/31
post-thumbnail

문제
(프로그래머스) 소수 만들기

Python 풀이

from itertools import combinations

def prime(data):
    for j in range(2, int(data ** 0.5) + 1):
        if data % j == 0:
            return False
            
    return True

def solution(nums):
    com = list(combinations(nums, 3))
    result = 0
    
    for i in com:
        if prime(sum(i)):
            result += 1
            
    return result

Java 풀이

class Solution {
    public int solution(int[] nums) {
        int count = 0;
        
        for (int i = 0; i < nums.length; i++) {
            for (int j = i + 1; j < nums.length; j++) {
                for (int k = j + 1; k < nums.length; k++) {
                    if (Prime(nums[i] + nums[j] + nums[k])) {
                        count++;
                    }
                }
            }
        }
        
        return count;
    }
    
    public static boolean Prime(int data) {
        boolean result = true;
        
        for (int i = 2; i < data; i++) {
            if (data % i == 0) {
                result = false;
                break;
            }
        }

        return result;
    }
}
profile
안녕하세요. 클래식을 즐기는 개발자, 이용찬입니다.

0개의 댓글