코테/BOJ

백준 2473 [세 용액] 파이썬

동 캄 2025. 6. 16. 22:01
반응형

https://www.acmicpc.net/problem/2473

#백준 2473 세 용액

import sys
N=int(sys.stdin.readline())
values=list(map(int,sys.stdin.readline().split()))
values.sort()
crit=float('inf')
ans=[0,0,0]
for i in range(N):
    val_1=values[i]
    left=i+1
    right=N-1
    while left<right:
        s=val_1+values[left]+values[right]
        if abs(s)<crit:
            ans=[val_1,values[left],values[right]]
            crit=abs(s)
            if s==0:
                print(val_1,values[left],values[right])
                exit(0)
        elif s>0:
            right-=1
        elif s<0:
            left+=1


print(*ans)

float('inf')를 사용하는것이 임의의 큰 정수를 대입하는 것보다 연산 속도가 더 빠르다.

 

 

 

 

 

그 외에는 투포인터를 사용하는점에서 이전문제들과 동일하다.

 

EX)

 

https://dongkam.tistory.com/484

 

백준 3151 [합이 0] 파이썬

https://www.acmicpc.net/problem/3151 #백준 3151 합이 0import sysimport mathN=int(sys.stdin.readline())students=list(map(int,sys.stdin.readline().split()))students.sort()plus=[]minus=[]zero=[]for val in students: if val0: plus.append(val) else: zero.app

dongkam.tistory.com

 

 

반응형