코딩테스트/SW Expert Academy
[D2] 2005. 파스칼의 삼각형
셂
2024. 9. 29. 17:20
2005. 파스칼의 삼각형
✏️ 문제 풀이
- 파스칼의 삼각형에서 각 줄의 첫 번째 줄(0번째)은 1개의 요소, ... 일반적으로 n번째 줄(0부터 시작)은 n+1개의 요소를 가짐
→ line 변수는 현재 줄의 번호를 나타내며, 0부터 시작
- map(str, row): str 함수를 사용하여 row 리스트의 각 요소를 문자열로 변환
- ' '.join: 공백으로 요소들 연결
def print_pascal_triangle(n):
prev = [] # 이전 줄을 저장할 리스트 초기화
for line in range(n):
row = [1] * (line + 1) # 현재 줄의 초기값을 1로 설정 (줄의 길이는 line + 1)
for i in range(1, line): # 첫 번째와 마지막 원소는 항상 1이므로 1부터 line-1까지 반복
row[i] = prev[i - 1] + prev[i] # 이전 줄의 값을 이용해 현재 줄의 중간 원소 계산
print(' '.join(map(str, row)))
prev = row # 현재 줄을 이전 줄로 저장
T = int(input())
for tc in range(T):
n = int(input())
if 1 <= n <= 10:
print(f"#{tc + 1}")
print_pascal_triangle(n)
else:
print('-1')