본문 바로가기

알고리즘

leetCode - twoSum

class Solution {
    public int[] twoSum(int[] nums, int target) {
        int[] answer = {};
        Map<Integer, Integer> integerIntegerMap = new HashMap<>();

        for (int i = 0; i < nums.length; i++) {
            integerIntegerMap.put(nums[i], i);
        }

        for (int i = 0; i < nums.length; i++) {
            int complement = target - nums[i];
            if (integerIntegerMap.containsKey(complement) && integerIntegerMap.get(complement) != i) {
                return new int[] {i, integerIntegerMap.get(complement)};
            }
        }
        
        return answer;
    }
}

 

1. for문 2번으로 bruteforce 식으로 짜는것

2. hashMap을 사용하여 공간복잡도 n, 시간복잡도 n으로 짜는것

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

letCode - Longest Palindromic Substring ( 1차 )  (0) 2022.02.04
letCode - Add Two Numbers  (0) 2022.02.04
프로그래머스 모의고사  (0) 2022.02.01
프로그래머스 더 맵게  (0) 2022.01.31
프로그래머스 가장큰수  (0) 2022.01.30