본문 바로가기
알고리즘/Array

Two Sum II

by e-pd 2020. 11. 19.

leetcode.com/problems/two-sum-ii-input-array-is-sorted/

 

Two Sum II - Input array is sorted - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

배열과 배열내 두 수의 값을 만들어야하는 타겟값을 입력받는다.

1.  배열을 순회한다.

2. Map에 ( 타겟값 - 배열의 내부의 값 ), 배열 인덱스로 값을 넣는다.

예를 들어 { 1,2,3,4} 인데 target 값이 3이라면 맨처음에는 3-1 이 키로 <2:0 >이 키 벨류로 들어간다.

3. 이제 배열 값과 맵의 키가 일치하는지에 따라 값을 꺼내오면 된다.

4.정답에서는 배열 인덱스 위치를 1부터 시작하기때문에 1을 더해준다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import java.util.*;
 
class Solution {
    public int[] twoSum(int[] numbers, int target) {
        Map<Integer, Integer> map = new HashMap<>();
        int[] result = new int[2];
        
        for (int i = 0; i < numbers.length; i++) {
            if (map.containsKey(numbers[i])) {
                int before = map.get(numbers[i]);
                result[0= before + 1;
                result[1= i + 1;
            } else {
                map.put( target - numbers[i], i);
            }
        }
        return result;
    }
}
cs

'알고리즘 > Array' 카테고리의 다른 글

Best Time to Buy and Sell Stock  (0) 2020.11.20
Contains Duplicate  (0) 2020.11.20
나누어 떨어지는 숫자 배열  (0) 2020.09.17
x만큼 간격이 있는 n개의 숫자  (0) 2020.09.17
2016  (0) 2020.09.09