삼총사

최민수·2023년 3월 6일
0

알고리즘

목록 보기
31/94
from itertools import combinations

def solution(number):
    answer = 0

    val = combinations(number, 3)

    for items in val:
        if sum(items) == 0:
            answer += 1

    return answer

배열의 원소에서 특정 조건(합이 0)을 만족하는 것의 개수를 구하는 문제

  • 이런 류의 문제를 보면 시도해볼 수 있는게 combinations, DFS/BFS, 직접 구현(완탐) 정도가 있을 것 같다.

하지만 DFS나 완탐은 n이 큰 조건이 달려있으면 시간초과나 recursion depth에 걸리지 않을까 불안하다.
따라서, BFS를 시도해봄직 하나 이 문제의 경우에는 n도 13으로 매우 작고 3개의 원소를 뽑는다 라는 고정된 값이 주어졌으므로 combinations으로 푸는게 가장 적당해 보인다.

프로그래머스 연습문제, https://school.programmers.co.kr/learn/challenges

profile
CS, 개발 공부기록 🌱

0개의 댓글