250620

凡愚·2025년 6월 20일

개발 일지

목록 보기
208/350

✅ What I did today


  • LeetCode


⚔️ LeetCode


Two sums

내 풀이

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        for (int i = 0; i < nums.size() - 1; i++)
        {
            for (int j = i+1; j < nums.size(); j++)
            {
                if ((target - nums[i]) == nums[j])
                {
                    return{ i, j };
                }
            }
        }
        return{0,0};
    }
};

정석 풀이

class Solution {
public:
    vector<int> twoSum(vector<int>& nums, int target) {
        int n = nums.size(); // size() 캐싱
        unordered_map<int, int> mp; // 딕셔너리
        for(int i = 0; i<n; i++){
            int complement = target - nums[i];
            if(mp.find(complement) != mp.end()) return {mp[complement], i};
            mp[nums[i]] = i;
        }

        return {-1, -1};
    }
};

0개의 댓글