문제
학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사
한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return
내 코드
from itertools import combinations ''' def solution(number): a = list(combinations(number, 3)) c = 0 for i in a: if sum(i) == 0: c += 1 return c
+1
다른 풀이
def solution(number): tot = 0 def dfs(i, cnt, sum_num): nonlocal tot ''' if cnt == 3 and not sum_num: tot += 1 return ''' if i == len(number): return ''' if cnt < 3: dfs(i+1, cnt+1, sum_num + number[i]) dfs(i+1, cnt, sum_num) ''' dfs(0,0,0) ''' answer = tot ''' return answer
다른 풀이
def solution(number): answer = 0 l = len(number) for i in range(l-2): for j in range(i+1, l-1): for k in range(j+1, l): # print(number[i],number[j],number[k]) if number[i]+number[j]+number[k] == 0: answer += 1 return answer