본문 바로가기
Java/리트코드

[리트코드][Java] 1. Two Sum 두개의 합

by 2D3 2023. 1. 4.
728x90

 

Contents

    문제 설명

    정수의 배열 nums와 정수 target이 주어졌을 때, 두 숫자의 인덱스를 반환하여 합계가 'target'이 되도록 합니다.
    각 입력에 정확히 하나의 솔루션이 있다고 가정할 수 있으며, 동일한 요소를 두 번 사용할 수 없습니다.
    답변은 임의의 순서로 반환할 수 있습니다.


    예시

    Example 1:
    
    Input: nums = [2,7,11,15], target = 9
    Output: [0,1]
    Explanation: Because nums[0] + nums[1] == 9, we return [0, 1].
    Example 2:
    
    Input: nums = [3,2,4], target = 6
    Output: [1,2]
    Example 3:
    
    Input: nums = [3,3], target = 6
    Output: [0,1]

    문제 풀이

    class Solution {
        public int[] twoSum(int[] nums, int target) {
    
            Map<Integer, Integer> map = new HashMap<Integer, Integer>();
    
            for (int i = 0; i < nums.length; i++) {
                if (map.containsKey(target - nums[i])) {
                    return new int[]{i, map.get(target - nums[i])};
            }
            map.put(nums[i], i);
            }
        return null;   
        }
    }
    728x90

    댓글