완전 탐색
컴퓨터의 빠른 계산 능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 알고리즘
연습문제
BOJ 13423

풀어볼 문제
Last updated
컴퓨터의 빠른 계산 능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 알고리즘

Last updated
from itertools import combinations as cb
t = int(input())
for _ in range(t):
n = int(input())
li = list(map(int, input().split()))
li.sort()
ans = 0
for i in cb(li, 3):
if i[2] - i[1] == i[1] - i[0]:
ans += 1
print(ans)from collections import defaultdict
t = int(input())
for _ in range(t):
n = int(input())
li = sorted(list(map(int, input().split())))
spotList = defaultdict(int)
for i in range(len(li)): # 모든 점을 defaultdict에 담기
spotList[li[i]] = 1 # True를 의미함
ans = 0
for i in range(n - 1):
for j in range(i + 1, n):
first = li[i]
second = li[j]
third = li[j] + (li[j] - li[i]) # 임의의 세번 째 점
if spotList[third] == 1: # 임의의 세번 째 점이 존재하는지 확인
ans += 1
print(ans)