
def two_sum(nums, target): # 아래 코드를 작성해주세요. length = len(nums) #변수에 파라미터로 넘겨받은 리스트의 길이를 저장 for i in range(length): # 0 < 리스트 길이동안 반복 (0 1 2 3) for j in range(i+1, length): # i+1 < 리스트 길이동안 반복(1 2 3) print(i,j)
가정에서 보면 target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 되어있다.
리스트에서 원하는 정보 2개를 뽑아내기 위해 중첩 반복문을 사용한다.
위 코드의 결과는 다음과 같다.

이제 리스트에서 원하는 정보를 가져올 수 있으니 target과 같은 수를 찾으면된다.
def two_sum(nums, target): # 아래 코드를 작성해주세요. length = len(nums) #변수에 파라미터로 넘겨받은 리스트의 길이를 저장 for i in range(length): # 0 < 리스트 길이동안 반복 (0 1 2 3) for j in range(i+1, length): # i+1 < 리스트 길이동안 반복(1 2 3) if (nums[i]+nums[j]) == target: #리스트에서 2개의 값을 합해서 target과 비교 print(i,j) nums = [4,9,11,14] target = 13 two_sum(nums,target)
if문을 통해 리스트에서 중첩되지않은 2개의 값을 더한 값과 target의 값을 비교한다.
위 코드의 결과는 다음과 같다.

리스트에서 원하는 값을 찾았으니 리스트로 리턴해야 한다.
def two_sum(nums, target): # 아래 코드를 작성해주세요. length = len(nums) #변수에 파라미터로 넘겨받은 리스트의 길이를 저장 for i in range(length): # 0 < 리스트 길이동안 반복 (0 1 2 3) for j in range(i+1, length): # i+1 < 리스트 길이동안 반복(1 2 3) if (nums[i]+nums[j]) == target: #리스트에서 2개의 값을 합해서 target과 비교 result = list(map(int, [i,j]))#list(map())를 통해 [i,j]리스트를 result에 저장한다. return result # 결과값 리턴 nums = [4,9,11,14] target = 13 print(two_sum(nums,target))
위의 코드의 결과는 다음과 같다.
