118. Pascal's Triangle

Doyeon Kim·2022년 5월 13일

코딩테스트 공부

목록 보기
59/171
post-thumbnail

문제 링크 : https://leetcode.com/problems/pascals-triangle/


Pascal's triangle .. 라는 것을 만드는 문제이다.
Pascal's triangle이란?
In Pascal's triangle, each number is the sum of the two numbers ...

Input: numRows = 5
Output: [[1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1]]

를 보면

우선 numsRow 수 만큼 num배열을 만들어주고
맨 첫번째 배열과 맨 마지막 배열은 항상 1이 온다.
그리고 그 앞 배열(i-1) 의 그 전 번째(j-1)와 해당 번쨰(j)를 더해주면 된다

이를 코드로 나타내면 다음과 같다

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        num = [0]*numRows
        
        for i in range(numRows):
            num[i]=[0]*(i+1)
            num[i][0] = 1
            num[i][-1] = 1
            for j in range(1,i):
                num[i][j] = num[i-1][j-1]+num[i-1][j]
        return num

22.06.16
다시 복습

처음에는 어려웠는데..
하다보몀ㄴ서 차근차근 구현하다보니 엄청 어렵지는 않았다

class Solution:
    def generate(self, numRows: int) -> List[List[int]]:
        nums = [0]*numRows
        
        for i in range(numRows):
            nums[i] = [0]*(i+1)
            nums[i][0] = 1
            nums[i][-1]= 1
            for j in range(1,i):
                nums[i][j] = nums[i-1][j-1] + nums[i-1][j]
        
        return nums
profile
성장하고 도전하는 개발자. 프로그래밍 좋아하세요?

0개의 댓글