프로그래머스 코딩테스트/Python

프로그래머스 소수 만들기 Python

Coding-Su 2024. 6. 30. 07:51
728x90

정답

def solution(nums):
    answer = 0
    nums.sort()
    numList = []
    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)):
                sum = nums[i] + nums[j] + nums[k]
                if sum % 2 == 1:
                    numList.append(sum)
                    
    for i in range(0, len(numList)):
        for j in range(2, numList[i]):
            if numList[i] % j == 0:
                numList[i] = 0
                break
                
    for i in numList:
        if i != 0:
            answer += 1
            
    return answer

저는 우선 3개를 더한 수를 numList에 추가하였습니다. 이때 짝수의 경우 소수가 아님으로 짝수를 제외한 나머지 홀수만 리스트에 추가하였습니다. 그 다음으로 for문을 통해 소수가 아닌 수를 0으로 바꾸워 준 뒤 마지막 for문에서 0이 아닌 수의 개수를 answer에 넣어 구했습니다. 

728x90