Algorithm/Python
[Programmers]Lv 2.소수 만들기
Pycoder
2019. 3. 26. 12:00
728x90
반응형
문제:
주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요.
풀이 방법:
nums를 3개의 for를 사용해서 nums 중 3개를 골라 더한 경우의 수를 구할 수 있다. 그리고 이 경우의 수들을 is_prime에 라는 함수에 넣어 소수인지 하나씩 판별을 한다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | def is_prime(x): if x > 1: for i in range(2, x): if x % i == 0: return False else: return False return True def solution(nums): answer_list=[] for i in range(len(nums)-2): for j in range(i+1,len(nums)-1): for k in range(j+1,len(nums)): answer_list.append(nums[i]+nums[j]+nums[k]) count=0 for i in answer_list: if is_prime(i): count+=1 else: pass return count | cs |
728x90
반응형