본문 바로가기
Beakjoon&프로그래머스/Java

[LeetCode/Java] Two Sum

by 현장 2025. 12. 31.

-Code

import java.util.*;

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int length = nums.length;
        // 숫자와 그에 인덱스 저장
        Map<Integer, Integer> numAndIdx = new HashMap<>();
        for (int i = 0; i < length; i++) {
            numAndIdx.put(nums[i], i);
        }
        // target과 차이나는 수가 존재하는지 확인
        for (int i = 0; i < length; i++) {
            int gap = target - nums[i];
            // 같은수가 존재하는 경우도 조건문에서 계산
            if (numAndIdx.containsKey(gap) && numAndIdx.get(gap) != i) {
                return new int[] {i, numAndIdx.get(gap)};
            }
        }

        return new int[] {-1, -1};
    }
}

무차별 대입으로 풀었으나 map으로 할 수있을거 같이서 해봤습니다. 다만 같은 수가 존재할때 계산을 안해서 틀렸었습니다.

'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글

[LeetCode/Java] Is Subsequence  (0) 2025.12.31
[LeetCode/Java] Move Zeroes  (0) 2025.12.31
[LeetCode/Java] Valid Anagram  (0) 2025.12.31
[LeetCode/Java] Contains Duplicate  (0) 2025.12.31
[백준/Java] 32400번 다트판  (0) 2025.12.31