Leetcode - 1. Two Sum

m0d0ri205·2024년 10월 1일

LeetCode

목록 보기
3/4
post-thumbnail

들어가며

Leetcode 문제 풀이이다. C++를 사용하여 해당 사이트의 문제들을 풀어나갈 예정이다.

description :
Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
You can return the answer in any order.

해당 문제의 설명이다.정수 숫자 배열(1)과 정수 대상(2)이 주어지면 두 숫자의 인덱스를 반환하여 대상을 합산한다.

1. Two Sum

해당 코드의 예시이다.첫번째 예시를 보면 "[2,7,11,15]"라는 정수 숫자 배열과 "9"라는 정수 대상이 주어진다. 이를 통해 두 숫자의 인덱스를 반환한다.

9를 만들기 위해 필요한 두 숫자는 2, 7이다. 그렇기에 [0,1]을 반환해야 한다.

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

먼저 이 문제를 효율적으로 해결한 것은 아닌 것 같다. 해당 문제는 브루토 포싱 방법을 사용해서 해결하였다. 첫번째 값과 두번째 값으로 나올 수 있는 값들의 경우의 수를 전부 비교해서 해당하는 인덱스를 출력하는 방식으로 코드를 작성하였다.

느낀점

시간복잡도를 줄이면서 작성할 수 있는 방법에 대해 생각하면서 코드를 작성해야겠다는 생각이 들었다.

profile
말하는 감자중.....

0개의 댓글