본문 바로가기

알고리즘풀이

LeetCode: Pascal's Triangle, 파스칼 삼각형

문제설명

  • 입력으로 받은 행의 개수로 파스칼 삼각형을 배열로 반환하라.
  • 파스칼 삼각형은 각 숫자가 바로 윗행의 두 개의 숫자의 합으로 이루어진다.

문제풀이

func generate(_ numRows: Int) -> [[Int]] {
    var result = [[1]]
    for i in 1..<numRows {
        var row = [1]
        let former = result[i-1]

        var j = 1
        while j < i {
            row.append(former[j-1] + former[j])
            j += 1
        }

        row.append(1)
        result.append(row)
    }
    return result
}

print(generate(1)) // [[1]]
print(generate(2)) // [[1], [1,1]]
print(generate(3)) // [[1], [1,1], [1,2,1]]
print(generate(4)) // [[1], [1,1], [1,2,1], [1,3,3,1]]

'알고리즘풀이' 카테고리의 다른 글

LeetCode: Missing Number  (0) 2021.03.26
LeetCode: Valid Parentheses  (0) 2021.03.25
LeetCode: Reverse Bits, 비트 뒤집기  (0) 2021.03.23
LeetCode: Hamming Distance, 해밍 거리  (0) 2021.03.21
LeetCode: Number of 1 Bits  (0) 2021.03.20