View
문제
two_sum함수에 숫자 리스트와 '특정 수'를 인자로 넘기면, 더해서 '특정 수'가 나오는 index를 배열에 담아 return해 주세요.
nums: 숫자 배열 target: 두 수를 더해서 나올 수 있는 합계 return: 두 수의 index를 가진 숫자 배열
예를 들어,
nums은 [4, 9, 11, 14] target은 13 nums[0] + nums[1] = 4 + 9 = 13 이죠? 그러면 [0, 1]이 return 되어야 합니다.
가정
target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 가정하겠습니다.
풀이
#1
# def two_sum(nums, target):
# for a in range(len(nums)):
# for b in range(len(nums)):
# if a != b:
# sum = nums[a] + nums[b]
# if sum == target:
# return [a, b]
#2
# def two_sum(nums, target):
# for a in nums:
# b = target - a
# if b in nums:
# return [nums.index(a), nums.index(b)]
#3
# def two_sum(nums, target):
# for a in enumerate(nums):
# b = target - a[1]
# if b in nums:
# return [a[0], nums.index(b)]
# 4
왜 이게 되는 것일까?
# def two_sum(nums, target):
# for a in nums:
# return [nums.index(a), nums.index(target - a)]
'코딩테스트' 카테고리의 다른 글
CodingTest) 신규 아이디 추천 (0) | 2021.12.21 |
---|---|
CodingTest) 로또의 최고 순위와 최저 순위 (0) | 2021.12.20 |
TIL | codecata_day2_reverse 함수 (0) | 2021.08.18 |
reply