본문 바로가기

알고리즘 & 코딩테스트/코딩테스트

Programmers Lv. 1 "삼총사"

Programmers Lv.1 삼총사, 연습문제, 정답률 71%

으음~ 각 학생한테 매겨진 숫자가 있고 주어진 number중 3명을 골라 그 합이 0이 되는 경우의 수를 반환하는 문제이다.
즉, 주어진 배열 number에서 3개씩 그룹을 지은다음 이들의 총합이 0인 경우를 세면되는데 그룹을 지을때 조합(=combinations)를 사용하면 된다!

from itertools import combinations

def solution(number):
    answer = 0
    tmp = list(combinations(number, 3))
    for item in tmp:
        if sum(item)==0:
            answer += 1
    return answer