LeetCode - 1. two sum

Jade J·2021년 2월 1일
0

Leetcode with Python

목록 보기
4/4

leetcode

twosum


숫자 서로 다 더해보기

생각할 수 있는 가장 쉬운 방법은, 초등학교 수학시간에 했던 것처럼 원소를 서로 다 더해보는 것이다.

for 문을 중첩해서, 바깥 루프가 고정 자리를 돌고 , 안쪽 루프가 뒤에 원소부터 하나씩 훝어서 더해서 target 이 되는지 보면 될 것이다.


#python3

def twoSum(self, nums: List[int], target: int) -> List[int]:
        
        #먼저  nums 의 첫 숫자 i 를 잡고
        for i in nums:
        
            # 그 다음 i 다음의 숫자(j)부터 하나씩 i+j로 더해본다
            for j in nums:
                
                # 그런데 만약 i 와 j의 합이 target 이라면?
                if nums[i] + nums[j] == target:
                    
                    #리스트로 i 와 그 숫자를 리턴하라
                    return [i,j]

뭔가 이상하다. index out of range 에러를 만났다.

range 를 쓰지 않는다면 범위를 지정하지 않아서 그렇다.

    def twoSum(self, nums: List[int], target: int) -> List[int]:
        
        #먼저 nums 의 첫0번째  숫자부터 nums 의 길이까지
        for i in range (0,len(nums)):
        
            # 그 다음 i 다음의 숫자(j)부터 하나씩 i+j로 더해본다
       
            
            for j in range(i+1, len(nums)) :
                
                # 그런데 만약 i 와 j의 합이 target 이라면?
                if nums[i] + nums[j] == target:
                    
                    #리스트로 i 와 그 숫자를 리턴하라
                    return [i,j]
        

python range() 참고자료


enumerate() 를 이용

python 의 enumerate() 메소드를 이용할 수도 있다. 이 메소드는 enumerate 객체를 반환한다. [(인덱스, 요소)] 형태로 반환된다.

enumerate()

profile
개발의 길을 걷자

0개의 댓글