[Code Kata] Python Day1

최창현·2022년 1월 10일
post-thumbnail


1. 리스트에서 원하는 정보 찾기

def two_sum(nums, target):
    # 아래 코드를 작성해주세요.
    length = len(nums) #변수에 파라미터로 넘겨받은 리스트의 길이를 저장
    for i in range(length): # 0 < 리스트 길이동안 반복 (0 1 2 3) 
        for j in range(i+1, length): # i+1 < 리스트 길이동안 반복(1 2 3)
            print(i,j)

가정에서 보면 target으로 보내는 합계의 조합은 배열 전체 중에 2개 밖에 없다고 되어있다.
리스트에서 원하는 정보 2개를 뽑아내기 위해 중첩 반복문을 사용한다.

위 코드의 결과는 다음과 같다.


2. target과 같은 수 찾기

이제 리스트에서 원하는 정보를 가져올 수 있으니 target과 같은 수를 찾으면된다.

def two_sum(nums, target):
    # 아래 코드를 작성해주세요.
    length = len(nums) #변수에 파라미터로 넘겨받은 리스트의 길이를 저장
    for i in range(length): # 0 < 리스트 길이동안 반복 (0 1 2 3) 
        for j in range(i+1, length): # i+1 < 리스트 길이동안 반복(1 2 3)
            if (nums[i]+nums[j]) == target: #리스트에서 2개의 값을 합해서 target과 비교
                print(i,j) 
nums = [4,9,11,14]
target = 13
two_sum(nums,target)

if문을 통해 리스트에서 중첩되지않은 2개의 값을 더한 값과 target의 값을 비교한다.

위 코드의 결과는 다음과 같다.


3. 결과값을 리스트로 리턴

리스트에서 원하는 값을 찾았으니 리스트로 리턴해야 한다.

def two_sum(nums, target):
    # 아래 코드를 작성해주세요.
    length = len(nums) #변수에 파라미터로 넘겨받은 리스트의 길이를 저장
    for i in range(length): # 0 < 리스트 길이동안 반복 (0 1 2 3) 
        for j in range(i+1, length): # i+1 < 리스트 길이동안 반복(1 2 3)
            if (nums[i]+nums[j]) == target: #리스트에서 2개의 값을 합해서 target과 비교
                result = list(map(int, [i,j]))#list(map())를 통해 [i,j]리스트를 result에 저장한다.
                return result # 결과값 리턴
nums = [4,9,11,14]
target = 13
print(two_sum(nums,target))

위의 코드의 결과는 다음과 같다.

profile
chch_oi

0개의 댓글