문제 파악
- 주어진 숫자 배열 nums 에서 숫자 2개를 더하여 target 과 동일한 숫자가 나오면 해당 숫자 2개의 index를 출력하는 코드를 작성하자.
- 입력
- nums [list] : 주어진 숫자 배열
- target [int] : 목표 숫자
- 출력
- outputs [list] : 더했을 때, 목표 숫자와 같은 두 수의 인덱스
문제 풀이
숫자 배열을 정렬한 후, two pointer를 사용하여 문제를 해결하였습니다. 배열을 정렬할 때, 기존의 index번호를 가진 새로운 list를 구현하였습니다.
class Solution:
def twoSum(self, nums: List[int], target: int) -> List[int]:
i = 0
j = 1
numbers = [[nums[z], z] for z in range(0, len(nums))]
numbers.sort()
while True:
a = numbers[i][0]
b = numbers[j][0]
if a + b == target:
return [numbers[i][1], numbers[j][1]]
elif a + b < target:
i += 1
j += 1
else:
i -= 1'알고리즘' 카테고리의 다른 글
| 88. Merge Sorted Array (0) | 2025.03.10 |
|---|---|
| 2379. Minimum Recolors to Get K Consecutive Black Blocks (0) | 2025.03.09 |