위지원의 데이터 일기 🐈
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

     

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

    profile
    위지원

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

    저작자표시 (새창열림)

    '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
    위지원의 데이터 일기 🐈데이터를 사랑하고 궁금해하는 기록쟁이입니다! 😉 Super Data Girl이 되는 그날까지🏃‍♀️ 화이팅!
    맨 위로
전체 글 보기
Tistory 로그인
Tistory 로그아웃
로그아웃 글쓰기 관리

열정! 열정! 열정! 🔥

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

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.