[백준] 2295번 세 수의 합 - 파이썬/투포인터

JinUk Lee·2023년 3월 10일
0

백준 알고리즘

목록 보기
41/78

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


N = int(input())
U = []
for i in range(N):
    U.append(int(input()))

U.sort()
check = True
ans = 0
while check:
    check_num = U.pop() # 큰 수부터 추출

    for i in range(len(U)):
        left = i
        right = len(U)-1

        while left <= right:
            sum = U[i]+U[left]+U[right]
            if sum<check_num: 
                left+=1
            elif sum>check_num:
                right-=1
            else:
                ans = check_num 
                check = False
                break


print(ans)

투포인터의 변형 문제이다.

세개의 포인터를 선택해야하고, 중복이 가능하므로 조건을 살짝 변경해서 풀었다.

profile
개발자 지망생

0개의 댓글