less than 1 minute read

문제

#3151 합이 0
Gold4
적용 알고리즘: 정렬 알고리즘


풀이 방법

코드 흐름

코드

아래는 시간초과가 나는 코드

n = int(input())
std = [int(m) for m in input().split()]

std.sort()

sum = 0
cnt = 0
for i in range(0, len(std) - 2):
  for j in range(i + 1, len(std) - 1):
    for k in range(j + 1, len(std)):
      sum = std[i] + std[j] + std[k]
      if (sum == 0):
        cnt += 1

print(cnt)

체감 난이도: /5
[2023-07-25: 시간초과]
예상했지만 삼중 루프를 돌리니 택도 없이 시간초과가 난다.(이렇게 풀리면 괜히 Gold4가 아니지ㅋㅋ) 찾아보니 이진탐색을 사용한다는데 조금 더 공부하고 나중에 다시 풀어봐야겠다.