알고리즘 공부

[leetcode - 167. Two Sum II - Input Array Is Sorted] java

철매존 2025. 2. 5. 21:58
728x90
반응형

문제 설명

1. 배열이랑 만들어야 하는 숫자가 주어진다.

2. 배열은 순서대로 (작은거부터 큰거까지) 주어진다.

 

풀이 과정 

1. 간단한 투포인터 문제이다.

2. 맨 처음 숫자 + 맨 뒤 숫자

3. (2)에서 만들어진 숫자가 타겟보다 크면 맨 뒤보다 한칸 앞, 작으면 맨 앞에서 한칸 앞으로 움직이면서 풀면 된다.

4. 같은거면 return

코드

class Solution {
    public int[] twoSum(int[] numbers, int target) {
        int start = 0;
        int end = numbers.length - 1;

        while(true) {
            int now = numbers[start] + numbers[end];
            if(now > target) end--;
            else if(now < target) start++;
            else return new int[]{start+1, end+1};
        }
    }
}



반응형