11/7 삼총사
https://school.programmers.co.kr/learn/courses/30/lessons/131705
.
모든 경우의 수를 모두 탐색하는 브루트포스 문제이다.
전체 정수 번호의 리스트에서 3명을 뽑는 경우의수를 모두 찾아야 하므로 3중 for문을 이용했다.
나의 풀이
def solution(number):
answer = 0
for i in range(len(number) - 2) :
for j in range(i + 1, len(number) - 1) :
for k in range(j + 1, len(number)) :
result = number[i] + number[j] + number[k]
if result == 0 :
answer += 1
return answer
다른 사람의 풀이
from itertools import combinations
def solution(number) :
answer = 0
for i in combinations(number, 3) :
if sum(i) == 0 :
answer += 1
return answer
from itertools import combinations
number = [1, 2, 3, 4, 5]
print(list(combinations(number, 3)))
출력결과
# [(1, 2, 3), (1, 2, 4), (1, 2, 5), (1, 3, 4), (1, 3, 5), (1, 4, 5), (2, 3, 4), (2, 3, 5), (2, 4, 5), (3, 4, 5)]
인자로 주어진 리스트의 원소들을 두번째 인자의 수만큼 원소들을 뽑아낸다.
댓글남기기