[파이썬][백준 20366][💛골드 3] 같이 눈사람 만들래? (조합, 투포인터)
Categories: BOJ
Tags: Coding Test Python Algorithm
🧞♂️ 난이도
💛 골드 3
🧞♂️ 문제
🧞♂️ 내 풀이
이름이 귀여워서 골랐는데 너무 어려웠다.. i 랑 i+3 으로 투포인터를 하고, 그 두 포인터로 또 두개의 포인터를 만들어서 풀어야되는데.. 이런 생각을 도대체 어떻게 하는건지 머르겠다
🧞♂️ 파이썬 코드
import sys
input = sys.stdin.readline
N = int(input())
snowballs = sorted(list(map(int, input().rstrip().split())))
answer = float('inf')
for i in range(N):
for j in range(i+3, N):
left, right = i+1, j-1
while left <= right:
_sum = (snowballs[i] + snowballs[j]) - (snowballs[left] + snowballs[right])
answer = min(answer, abs(_sum))
if _sum < 0:
right -= 1
else:
left += 1
print(answer)