1. Two Sum

2025. 3. 16. 17:38·알고리즘

문제 파악

  • 주어진 숫자 배열 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
'알고리즘' 카테고리의 다른 글
  • 88. Merge Sorted Array
  • 2379. Minimum Recolors to Get K Consecutive Black Blocks
ys9503
ys9503
ml11 님의 블로그 입니다.
  • ys9503
    일레븐의 머신러닝 개발 일지
    ys9503
  • 전체
    오늘
    어제
    • 분류 전체보기 (4)
      • 머신러닝 (1)
      • 개발 일지 (0)
      • 알고리즘 (3)
      • 안면 인식 연구 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    KNN
    top interview 150
    k nearest neighbors
    Algorithm
    Two Pointer
    two sum
    머신러닝
    macine learning
    2379
    minimum recolors to get k consecutive black blocks
    leetcode
    leet code
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
ys9503
1. Two Sum
상단으로

티스토리툴바