삼총사

Kylie·2022년 11월 29일
0

프로그래머스 Lv.1

목록 보기
53/69

문제
학생 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
profile
딥린이

0개의 댓글