백준-2473 : 세 용액
https://www.acmicpc.net/problem/2473
풀의
- 투 포인트 알고리즘을 사용하기 위해 입력 받은 ph 정보를 정렬을 한다.
- 앞에서부터 기준을 하나씩 잡고 기준이 되는 음수값의 합을 구하기위해 투 포인트 알고리즘을 사용한다.
코드 (Python)
import sys
def input():
return sys.stdin.readline().rstrip()
size = int(input())
ph_list = list(map(int, input().split(' ')))
ph_list.sort()
zero_sum = 3000000001
result = []
for i in range(0, size-2,1):
j = i + 1
z = size-1
while (j < z):
temp_sum = ph_list[i]+ph_list[j]+ph_list[z]
if (zero_sum > abs(temp_sum)):
zero_sum = abs(temp_sum)
result = [ph_list[i], ph_list[j], ph_list[z]]
if (temp_sum > 0):
z -= 1
elif (temp_sum < 0):
j += 1
else:
print(result[0],result[1],result[2])
exit(0)
print(result[0],result[1],result[2])
'Algorithm' 카테고리의 다른 글
[BFS,Deque] 백준-2206 벽 부수고 이동하기 골드2 (Python) (0) | 2023.04.28 |
---|---|
[우선순위 큐] 백준-11000 강의실 배정 골드4 (Python) (0) | 2023.04.26 |
[이진 탐색] 백준-20551 Sort 마스터 배지훈의 후계자 실버4 (Python) (0) | 2023.04.19 |
[우선순위큐,정렬] 백준-2109 순회강연 골드3 (Python) (0) | 2023.04.15 |
[DFS] 백준-15173 점프왕 쩰리 (Small) 실버4 (Python) (0) | 2023.04.14 |