Python/[코드트리]

[코드트리] 순서대로 채우기 > 격자로 사각형 만들기

hyunnn_00 2023. 7. 17. 14:24
아래 조건을 만족하도록 격자를 만들어 출력하는 프로그램을 작성해보세요.
  • 첫 번째 행과 첫 번째 열에는 모두 1이 들어갑니다.
  • 나머지 칸들은 바로 위의 값과 바로 왼쪽 값, 그리고 왼쪽 위의 값의 합이 되어야 합니다.
  • 크기는 n x n 입니다.

 

 

# 2차원 배열 생성
n = int(input())
arr_2d = [
    [1 for _ in range(n)]
    for _ in range(n)
]

for i in range(1, n):
    for j in range(1, n):
        arr_2d[i][j] = arr_2d[i-1][j] + arr_2d[i-1][j-1] + arr_2d[i][j-1]

# 출력
for rows in arr_2d:
    for elem in rows:
        print(elem, end = " ")
    print()
# 해설
# n을 입력받습니다.
n = int(input())

# 2차원 배열을 구현합니다.
arr = [
    [0 for _ in range(n)]
    for _ in range(n)
]
	
# 배열의 첫 행과 첫 열을 1로 초기화합니다.
for i in range(n):
	arr[0][i] = 1
	arr[i][0] = 1

# 배열의 숫자를 채웁니다.
for i in range(1, n):
	for j in range(1, n):
		arr[i][j] = arr[i - 1][j] + arr[i][j - 1] + arr[i - 1][j - 1]

# 채워진 배열을 출력합니다.
for row in arr:
	for elem in row:
		print(elem, end=" ")
	print()