시소에 세 자리가 있는데 이 자리는 시소의 중앙에서 각각 2, 3, 4m 떨어져 있습니다. 시소에 가해지는 무게는 각 자리의 거리*타는 사람의 무게일 때 두 사람이 시소가 서로 평형을 이루도록 앉을 수 있는 경우의 수를 구하는 문제입니다.
def solution(weights):
answer = 0
arr=[0]*1001
for i in weights:
arr[i]+=1
for i in range(1001):
for j in [1, 3/2, 2, 4/3]:
num=int(i*j)
if i*j!=num:
continue
if num<1001:
if num==i:
if arr[i]>1:
answer+=(arr[i]*(arr[i]-1))//2
else:
answer+=arr[i]*arr[num]
return answer