inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코딩테스트 [ ALL IN ONE ]

Two Sum 문제 질문드립니다.

310

배추

작성한 질문수 1

1

시간복잡도 O(nlogn)으로 코드를 작성하는 중인데,

코드 맨 마지막 줄에서 index 함수를 썼을 때, 중복값은 제일 맨 앞 인덱스만 반환하더라구요.

다른 해결 방법이 있을지 궁금합니다!

nums = [3,3], target = 6
Output: [0,1]
class Solution:
  def twoSum(self, nums: List[int], target: int) -> List[int]:
    array = sorted(nums)
    left = 0
    right = len(nums)-1
    while left < right:
      if array[left] + array[right] > target:
        right -= 1
      elif array[left] + array[right] < target:
        left -= 1
      elif array[left] + array[right] == target:
        return [nums.index(array[left]), nums.index(array[right])] # 이 부분

알고리즘 algorithm 코테 준비 같이 해요! python

답변 1

0

개발남노씨

안녕하세요 배추님. Discord를 참고하셔도 좋을 것 같아요.

https://discord.com/channels/941959559759679559/1065795296518471680

 

 

nums.index()를 사용하셨군요. 좋은 접근같아요. 근데, 이 문제에서는 중복된 숫자 상황에서 우리가 원하는대로 결과값이 안나오죠. 음..

저는 일단 아래와 같이 풀이했습니다.

def twoSum(self, nums, target):

    origin_indices = {}

    for idx, val in enumerate(nums):
        if val in origin_indices:
            origin_indices[val].append(idx)
        else:
            origin_indices[val] = [idx]

    nums.sort()

    l, r = 0, len(nums)-1

    while l < r:
        if target > (nums[l] + nums[r]):
            l += 1
        elif target < (nums[l] + nums[r]):
            r -= 1
        else:
            return [origin_indices[nums[l]][0], origin_indices[nums[r]][-1]]

 

이 코드에서 좀 더 개선할 사항이 있다면 피드백 해주세요 ㅎㅎ

list.index()를 활용하는 방법으로는 해결법이 떠오르지 않네요 ㅜ

개선된 코드는 디스코드에서도 공유해 주세요 :)

 

0

배추

네 참고하겠습니다! 감사합니다 :)

노션 공유 링크

0

92

2

수업 중간에 내주신 문제는 해답을 알 수 없는걸까요?

0

79

2

최신 강의와 비교

0

87

2

Min Cost Climbing stairs 질문

0

77

2

노션 공유 부탁드립니다!

1

89

2

for 문에 sort 함수 를 사용하면

1

91

2

노션 공유 부탁드립니다.

0

105

2

디스코드가 올바르지 않다고 뜹니다..!

0

107

1

그래프

0

100

2

노션 공유

1

123

2

시간복잡도 질문

2

125

3

11강 질문

1

78

2

노션 공유 부탁드립니다

0

84

2

linkedList - BrowserHistory 코드 질문

0

77

1

list1.append(list2)와 list1.append(list2[:])의 차이가 무엇인가요?

1

169

1

라이브러리 사용

1

137

2

문제 교재는 따로 없는 거 맞나요?

1

202

2

LCA 관련해서 질문이 있습니다.

1

118

2

[Unique Paths] 완전탐색 / DP (후반부)

0

108

1

dp 계단오르기최소비용질문입니다.

0

109

1

Dynamic Array 의 size 정보가 저장되는 곳

2

161

2

노션공유가 안된듯 합니다

1

165

2

[코테 적용] 👉 [3번 문제] 완전탐색 (DFS, BFS) (전반부)

1

122

1

강의자료 만들 때 사용하신 프로그램이 뭘까요?

1

205

1