파이썬 알고리즘 인터뷰 7장_배열_2022_01_15(자신을 제외한 배열의 곱)[미완성]

leeseungsoo0701·2022년 1월 17일
0
post-thumbnail

배열

자신을 제외한 배열의 곱

아이디어:
자신을 제외한 리스트 나머지의 곱을 다시 리스트로 출력하는 문제이다.(나눗셈 불가)
1 .각각의 값을 다른 리스트에 일시적으로 저장하고 남은 n-1개의 list 요소들에 대해서 for 문을 통해 sum을 구하고 그 sum값 또한 result 리스트에 저장한다.

  1. result에서의 작업이 끝난다면 input 리스트의 정확한 자리에 넣어줘야하므로 idx와 함께 mul에 잠시 넣어두었던 요소들을 다시 넣어준다.
############## 배열을 입력 받아 output[i]가 자신을 제외한 나머지 모든 요소의 곱셈 결과가 되도록 출력하라
############### 입력: [1,2,3,4]
############# 출력: [24,12,8,6]

def arrayExecptSelf(inputs:list[int])->list[int]:
    mul = []
    total = []
    for idx in range(len(inputs)):
        sum = 1
        # print(type(inputs[idx]))
        # print(idx)
        # print(inputs[idx])
        mul.append(inputs[idx])
        inputs.remove(inputs[idx])
        # print(inputs)

        for j in range(len(inputs)):
            sum *= inputs[j]
            # print(sum)

        total.append(sum)

        inputs.insert(idx,mul[idx])

    return total

inputs = [1,2,3,4]
print(arrayExecptSelf(inputs))



##################################

링크:
https://github.com/leeseungsoo0701/python_alogrithm/blob/main/array/pratice/product_of_array_except_self.py

leetcode 238

추가적인 아이디어로 코드 작성해야함. 지금은 O(n^2)에 비효율적인 알고리즘

profile
한 줄이라도 정확하고 깊게 알아가보자 늦어도 좋다.

0개의 댓글

관련 채용 정보