[백준, BOJ] 2467 용액 Python

2024. 12. 11. 14:44Algorithm

 

 

풀어놓고서도 오늘의 한심함이 가득가득 몰려왔었다.

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