반응형
문제설명
자연수가 중복 없이 들어있는 리스트가 있습니다. 이 리스트에서 합이 K의 배수가 되도록 서로 다른 숫자 세개를 고르는 방법은 몇 가지인지 세려고 합니다.
자연수가 들어있는 리스트 arr가 매개변수로 주어질 때, 이 리스트에서 합이 K의 배수가 되도록 서로 다른 숫자 세개를 고르는 방법의 가짓수를 return 하도록 solution 함수를 완성해주세요.
매개변수 설명
자연수가 들어있는 리스트 arr가 solution 함수의 매개변수로 주어집니다.
* arr의 길이는 3 이상 100 이하입니다.
* arr에는 1 이상 1,000 이하의 자연수가 중복 없이 들어있습니다.
* K는 1 이상 10 이하의 자연수입니다.
return 값 설명
리스트에서 합이 K의 배수가 되도록 서로 다른 숫자 세개를 고르는 방법의 가짓수를 return 해주세요.
* 그러한 방법이 없다면 0을 return 하면 됩니다.
예시
| arr | K | return |
|-----------------|---|--------|
| [1, 2, 3, 4, 5] | 3 | 4 |
예시 설명
다음과 같이 4가지 방법이 있습니다.
* 1 + 2 + 3 = 6
* 1 + 3 + 5 = 9
* 2 + 3 + 4 = 9
* 3 + 4 + 5 = 12
문제 코드
def solution(arr, K):
#여기에 코드를 작성해주세요.
answer = 0
return answer
풀이
def solution(arr, K):
answer = 0
# arr의 세 자연수의 합이 K의 배수이면 answer += 1
for i in range(len(arr)):
for j in range(i+1, len(arr)):
for k in range(k+1, len(arr)):
if arr[i] + arr[j] + arr[k] % K == 0:
answer += 1
return answer
댓글