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
반응형
'Algorithm > Python' 카테고리의 다른 글
[Programmers]Lv 2. 영어 끝말잇기 (0) | 2019.03.28 |
---|---|
[Programmers]Lv 2. 점프와 순간이동 (0) | 2019.03.27 |
[Programmers]Lv 3.단어 변환 (0) | 2019.03.25 |
[Programmers]Lv 2. N개의 최소공배수 (0) | 2019.03.24 |
[Programmers]Lv 3. 숫자 게임 (0) | 2019.03.23 |