위지원의 데이터 일기 🐈
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
Home
  • 분류 전체보기 (563)
    • ✎ 2025년 (4)
    • 2024년 (16)
    • 2023년 (6)
    • 2022년 (35)
      • Developement (22)
      • Error (9)
    • 2021년 (68)
      • ERROR (9)
      • 알고리즘 (11)
      • 개발공부 (21)
      • Data (15)
      • 21.下 (12)
    • 2020년 (164)
      • 코테 (84)
      • Development (29)
      • 정처기 (41)
    • 2019년 (27)
    • 2018년 (89)
      • English Speaking (8)
      • Error (12)
      • C, Java, FileSystem (13)
      • DataBase (15)
      • Java (2)
      • 지식 (16)
      • Go (3)
      • spark (9)
      • 영어 (5)
      • 알고리즘 (6)
    • 2017년 (143)
      • Error (17)
      • machine learning (16)
      • Spark (20)
      • Database (19)
      • Python (17)
      • Spring (9)
      • etc. (10)
      • 백준 (5)
      • Google Platform (12)
      • web Development (7)
      • Docker (3)
      • Linux (8)
블로그 내 검색
포트폴리오

위지원의 데이터 일기 🐈

데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!

  • 🖥 깃블로그
  • 🌍 위키원
  • 📑 내맘대로 스크랩
  • 💌 메일
  • 2020년/코테

    [파이썬 알고리즘 인터뷰] 자신을 제외한 배열의 곱

    2020. 12. 30. 00:17

    by. 위지원

    github.com/onlybooks/algorithm-interview

    졸리당.....이거만하구 자야지 


    238. Product of Array Except Self

     

    Given an array nums of n integers where n > 1,  return an array output such that output[i] is equal to the product of all the elements of nums except nums[i].

     


     

    Product of Array Except Self - LeetCode

    Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.

    leetcode.com

     

     

    본 문제에 제약조건이 존재한다. Note: Please solve it without division and in O(n).

     

    1. 왼쪽 곱셈 결과에 오른쪽값을 차례대로 곱셈

     

    for문을 2번 사용한다.

     1) 왼쪽으로 이동하면서 곱을하고 

     2) 오른쪽으로 이동하면서 곱을 한다.

    나를 제외한 양 옆의 이웃들을 만나게 해주는 것

     

    책에 있는 그림을 보고 한참을 이게 뭐지했다. 으이구 멍청하긴... 이해력이 이렇게 안좋아서야..!

    난 그냥 코드로 보는게 훨씬 이해하기 편하다. 

     

     

    onlybooks/algorithm-interview

    <파이썬 알고리즘 인터뷰> 95가지 알고리즘 문제 풀이로 완성하는 코딩 테스트. Contribute to onlybooks/algorithm-interview development by creating an account on GitHub.

    github.com

     

    나 이문제 3달전에 풀었었다.

    from functools import reduce
    from collections import Counter
    
    # 이중 for문으로 풀 수 있겠지만 O(n)으로 풀어야 함
    class Solution:
        def multiply(self,arr):
            return reduce(lambda x, y: x * y, arr)
    
        def productExceptSelf(self, nums: List[int]) -> List[int]:
            # 0의 개수를 체크 
            counterForZero = Counter(nums)[0]
            
            # 0 이 1개라면 0이 선택되는 경우 빼고 다 0이고 0의 자리에만 product value
            if counterForZero == 1:
                res = [0]*len(nums)
                idx = nums.index(0)
                res[idx] = self.multiply(nums[:idx]+nums[idx+1:])
                return res
        
            #0이 1개 이상이면 언제든 0
            if counterForZero  > 1:
                return [0]*len(nums)
            
            #0이 하나도 없는 경우
            res = self.multiply(nums)
            for idx,num in enumerate(nums):
                nums[idx] = int(res/num)
            
            return nums 

     

    확실히 책에서 제시한 방식이 훨씬 깔끔하고 보기좋다. 이래서 공부를 해야한다. 

    저작자표시 (새창열림)

    '2020년 > 코테' 카테고리의 다른 글

    [파이썬 인터뷰 알고리즘] 세 수의 합  (0) 2020.12.22
    [파이썬 알고리즘 인터뷰] 빗물 트래핑  (1) 2020.12.20
    [파이썬 알고리즘 인터뷰] 배열  (0) 2020.12.20
    [파이썬 알고리즘 인터뷰] 가장 킨 팰린드롬  (0) 2020.12.19
    [파이썬 알고리즘 인터뷰] 그룹 애너그램  (0) 2020.12.19

    잠깐만요~! 읽으신김에 이런 글들은 어떠세요? 👀

    • [파이썬 인터뷰 알고리즘] 세 수의 합 2020.12.22
    • [파이썬 알고리즘 인터뷰] 빗물 트래핑 2020.12.20
    • [파이썬 알고리즘 인터뷰] 배열 2020.12.20
    • [파이썬 알고리즘 인터뷰] 가장 킨 팰린드롬 2020.12.19
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

Designed by Nana
블로그 이미지
위지원
데이터 엔지니어로 근무 중에 있으며 데이터와 관련된 일을 모두 좋아합니다!. 특히 ETL 부분에 관심이 가장 크며 데이터를 빛이나게 가공하는 일을 좋아한답니다 ✨

티스토리툴바

티스토리툴바