[백준, BOJ] 2467 용액 Python
2024. 12. 11. 14:44ㆍAlgorithm
풀어놓고서도 오늘의 한심함이 가득가득 몰려왔었다.
BOJ 게시판에 쓰려다가 말았지만 (스스로의 안일함과 멍청함에 대하여) 여기서라도 남긴다면,
주어지는 수의 범위를 잘 볼 필요가 있다. 정말 잘 볼 필요가 있다.
(여기서만 한 4번 터졌다)
저 같은 경우에는 투포인터로 풀었습니다. 투 포인터라던지 이분탐색 같은 경우에는, 크기 순서대로 정렬 되어있어야한다
가 전제인데요, 이 문제 같은 경우에는 겹치는 수치도 없거니와 이미 크기 순으로 정렬되어 있다는 점이 문제 풀기 딱 좋은 환경인 것 같네요.
정답 코드는 다음과 같습니다.
import sys
input = sys.stdin.readline
N = int(input())
liquid = list(map(int,input().split()))
mix_val = int(1e9) * 2
ans_l, ans_r = 0, N-1
l, r = 0, N-1
while l < r:
val = liquid[l] + liquid[r]
if abs(val) < mix_val:
ans_l, ans_r = l, r
mix_val = abs(val)
if val == 0:
break
if val <= 0:
l += 1
else:
r -= 1
print(liquid[ans_l], liquid[ans_r])
'Algorithm' 카테고리의 다른 글
[BOJ, 백준] 1766 문제집 Python (1) | 2024.12.15 |
---|---|
[BOJ, 백준] 1660 캡틴 이다솜 Python (0) | 2024.12.11 |
Leet Code - Medium 부수기 (1) | 2024.11.21 |
[BOJ, 백준] 14567 선수과목 Python (0) | 2024.10.18 |
[BOJ, 백준] 25958 예쁜수 Python (1) | 2024.10.15 |