코드
import sys
input = sys.stdin.readline
n = int(input())
solution = sorted(list(map(int, input().split())))
result = 2000000000
first_solution = 0
second_solution = 0
start = 0
end = n-1
while start < end: # start와 end는 만나면 안됨
new_sol = solution[start] + solution[end]
if abs(new_sol) <= result:
result = abs(new_sol)
first_solution, second_solution = solution[start], solution[end]
if new_sol < 0: start += 1
else: end -= 1
print(first_solution, second_solution)
2467번 문제에서 정렬만 추가했다. 내일 처음부터 다시 풀어봐야지. 참고로 0과 가장 가까운 값을 찾으려면 절대값을 쓰면 된다.
'백준' 카테고리의 다른 글
[백준] 2417번 정수 제곱근 파이썬 코드 (0) | 2023.09.10 |
---|---|
[백준] 7795번 먹을 것인가 먹힐 것인가 파이썬 코드 (0) | 2023.09.08 |
[백준] 2467번 용액 파이썬 코드 (0) | 2023.09.08 |
[백준] 4158번 CD 파이썬 코드 (1) | 2023.09.07 |
[백준] 2003번 수들의 합2 파이썬 코드 (0) | 2023.09.07 |
코드
import sys
input = sys.stdin.readline
n = int(input())
solution = sorted(list(map(int, input().split())))
result = 2000000000
first_solution = 0
second_solution = 0
start = 0
end = n-1
while start < end: # start와 end는 만나면 안됨
new_sol = solution[start] + solution[end]
if abs(new_sol) <= result:
result = abs(new_sol)
first_solution, second_solution = solution[start], solution[end]
if new_sol < 0: start += 1
else: end -= 1
print(first_solution, second_solution)
2467번 문제에서 정렬만 추가했다. 내일 처음부터 다시 풀어봐야지. 참고로 0과 가장 가까운 값을 찾으려면 절대값을 쓰면 된다.
'백준' 카테고리의 다른 글
[백준] 2417번 정수 제곱근 파이썬 코드 (0) | 2023.09.10 |
---|---|
[백준] 7795번 먹을 것인가 먹힐 것인가 파이썬 코드 (0) | 2023.09.08 |
[백준] 2467번 용액 파이썬 코드 (0) | 2023.09.08 |
[백준] 4158번 CD 파이썬 코드 (1) | 2023.09.07 |
[백준] 2003번 수들의 합2 파이썬 코드 (0) | 2023.09.07 |