📍문제
two_sum
함수에 숫자 리스트와 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요.
nums -> [4, 9, 11, 14]
targe -> 13
nums[0] + nums[1] = 4 + 9 = 13
그러면 [0, 1]이 return 되어야 합니다.
def two_sum(nums, target):
for i in range(len(nums)):
for j in range(len(nums)):
if ((nums[i] + nums[j]) == target) & (nums[i] != nums[j]):
#순차적으로 모든 값을 서로 더하여 target과 같은 수를 찾고 그중에서 중복제거
return [i, j]
if ((nums[i] + nums[j]) == target) & (nums[i] != nums[j]):
이 코드도 머리를 쓰다가 만든 수정 본이지만 여기서 더 간단하게 할 수 있는 방법이 있을 것 같은데 생각을 못했다!
def two_sum(nums, target):
#어차피 nums중에서 오직 2개로 target값을 만들 수 있기 때문에
for i in nums:
temp = target - i #temp는 nums 중 하나
if temp in nums: #nums에서 temp을 찾아서
return [nums.index(i), nums.index(temp)] #반환