Menu
CoddyTech

Pascal's Triangle

파스칼의 삼각형에서 첫 번째 행은 [1]입니다. 이후의 각 행은 항목이 하나 더 많고, 1로 시작하고 끝나며, 그 사이의 각 항목은 바로 위에 있는 두 항목의 합입니다. 정수 numRows가 주어집니다. 삼각형의 처음 numRows개 행을 맨 위 행부터 각 행을 정수 배열로 반환하세요.

함수

generate(numRows: integer) → integer-2d-array
numRowsinteger
삼각형을 만들 행의 수
반환값integer-2d-array
첫 번째 numRows개의 행, 맨 위 행부터

제약 조건

  • 1 ≤ numRows ≤ 30
  • 처음 30개 행의 모든 항목은 32비트 부호 있는 정수로 표현할 수 있습니다. 가장 큰 값은 77558760이며, 30번째 행의 가운데에 있습니다.

예제

입력
numRows = 5
출력
[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]
설명
각 내부 항목은 바로 위에 있는 두 항목을 더한 값입니다. 네 번째 행에서는 3 = 1 + 2이고 3 = 2 + 1입니다. 다섯 번째 행에서는 4 = 1 + 3, 6 = 3 + 3, 4 = 3 + 1입니다.

lock icon제출 시 숨은 테스트 +13개

challenge icon

후속 질문

위쪽 행들을 유지하는 대신, 한 배열에서 마지막 행만 만들고 행마다 그 값을 바로 갱신할 수 있을까요? 내부 루프는 어떤 방향으로 실행해야 하며, 그 이유는 무엇인가요?

코드 초기화
def generate(numRows):
    # 여기에 코드를 작성하세요
테스트 케이스

케이스 1

케이스 2

입력

numRows = 5

기대값

[[1], [1, 1], [1, 2, 1], [1, 3, 3, 1], [1, 4, 6, 4, 1]]