프로그래머스 level 1 소수 만들기

apircity·2022년 7월 17일
1

프로그래머스

목록 보기
1/9
post-thumbnail

level 1 소수 만들기

🎨 how to solve

c언어로도 풀어본 적 있는 문제라 c언어로 풀었던 풀이 방법을 택했다
총 X 개의 숫자를 xC3의 조합으로 3개씩 숫자를 더한 후 2부터 x/2까지 모두 나눠 소수인지 아닌지 판별
-> by 3중 for문

🔑 code

def solution(nums):
    nums = sorted(nums)
    sums = []
    #0 1 2/ 1 2 3번쨰 숫자를 더함 -> 3중 for문
    for i in range(0, len(nums)-2):
        for j in range(i+1, len(nums)-1):
            for k in range(j+1, len(nums)):
                # xC3의 조합으로 세 수의 합을 구함
                sums.append(nums[i] + nums[j] + nums[k])    
    answer = len(sums)
    for num in sums:
        #약수의 개수는 최대 미지수의 2분의 1이므로 2부터 미지수/2의 숫자까지 소수 판별
        for i in range(2, num//2):
            if num % i == 0:
                answer -= 1
                break
    return answer
profile
junior developer

0개의 댓글