동주의 세상

Clean and minimal personal blog

LeetCode 167,Two Sum II - Input Array Is Sorted 파이썬 해설 풀이

Posted at — Jul 26, 2022

접근

  1. 정렬되어 있는 array 의 처음과 끝에 포인터를 둔다.
  2. target 과 비교하며 포인터를 움직인다.

사고

정렬되어 있고, 답이 하나로 보장되어 있다길래 two pointer 썼다.

 

class Solution:
    def twoSum(self, numbers: list[int], target: int) -> list[int]:
        i, e = 0, len(numbers) - 1
        while i < e:
            if numbers[i] + numbers[e] == target:
                return [i + 1, e + 1]
            elif numbers[i] + numbers[e] > target:
                e -= 1
            else:
                i += 1