[백준] 7453 : 합이 0인 네 정수 (python)

코딩하는계란·2021년 4월 23일
0

백준

목록 보기
9/13
post-thumbnail

👉 7453 : 합이 0인 네 정수



✍ 내 코드


# 골드 2레벨    합이 0인 네 정수

from sys import stdin
from collections import defaultdict

read = stdin.readline
n = int(read())
A, B, C, D = [], [], [], []

dic1 = {}
dic2 = {}
for _ in range(n):
    a, b, c, d = map(int, read().split())
    A.append(a)
    B.append(b)
    C.append(c)
    D.append(d)

result = 0
for a in A:
    for b in B:
        dic1[a + b] = dic1.get(a + b, 0) + 1

for c in C:
    for d in D:
        result += dic1.get(-(c + d), 0)
print(result)


✍ 팁


  • n^4 으로 풀면 시간 초과가 나오기 때문에 두그룹씩 묶어서 n^2으로 접근
  • defaultdict와 같은 문법을 사용하여 defaultdict를 이용해 봤지만 어떻게 해도 시간초과가 나옴
    큰차이가 나지는 않지만 시간초과가 타이트하게 잡혀있기 때문으로 보임
profile
코딩💻 고양이😺

0개의 댓글