새오의 개발 기록

Leetcode 1: 두 수의 합 본문

Algorithm/Leetcode

Leetcode 1: 두 수의 합

새오: 2022. 10. 3. 15:58

 

덧셈하여 타겟을 만들 수 있는 배열의
두 숫자 인덱스를 리턴하라.





 

Two Sum - LeetCode

Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

leetcode.com

# 입력 예제
num = [2, 7, 11, 15], target = 9


# 출력 예제
[0, 1]


# 설명
# nums[0] + nums = 2 + 7 = 9
# 따라서 0, 1을 리턴한다.

 

 

 

 

 

 

 

풀이

 

1. 브루트 포스(무차별 대입)로 계산

 

단순히 푸는 방법

배열을 2번 반복하면서 모든 조합을 더해서 일일이 확인해보는 방법이다.

이 경우 시간 복잡도가 O(n^2)으로 지나치게 느려서 최적화 할 수 있는 다른 방법을 찾아봐야 한다.

def twoSum(self, nums, target):
        arr = []

        for i in range(len(nums)):
            for j in range(i+1, len(nums)):
        	# 첫번째 인덱스와 두번째 인덱스를 통해 값을 구해서 더함
            # 더한 값이 타겟과 같으면 해당 인덱스를 반환
                if nums[i] + nums[j] == target:
                    return [i, j]