SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
- 파스칼의 삼각형은 윗 줄의 왼쪽과 오른쪽 값을 더한 값을 가져온다.
- 실제로는 왼쪽과 오른쪽에 값이 없기 때문에, 매 줄마다 0 이 양쪽에 있다고 가정한 뒤 문제를 풀면 쉬워진다.
t = int(input())
def printline(before, n) :
if n == N + 1 : # 마지막 줄까지 출력 후에 종료
return
lines = [0] # 이번 줄의 정보에 대한 리스트 (양 끝에 0 추가)
for i in range(len(before) - 1) : # 윗줄을 보며 정보 채우기
lines.append(before[i] + before[i+1])
lines.append(0)
for i in lines[1:n+1] : # 이번 줄을 0 빼고 출력
print(i, end=' ')
print()
printline(lines, n+1) # 다음 줄 재귀호출
for tc in range(t) :
global N # 입력받을 n 을 전역변수로 둔다
N = int(input())
print("#" + str(tc+1))
print(1) # 첫번째 줄 1 출력 후
printline([0,1,0], 2) # 두번째 줄 부터 재귀호출 (각 라인의 양 끝에 0 을 추가)
'PS > SWEA' 카테고리의 다른 글
[SWEA] 1989.py : 초심자의 회문 검사 (0) | 2020.07.15 |
---|---|
[SWEA] 2001.py : 파리 퇴치 (0) | 2020.07.14 |
[SWEA] 2007.py : 패턴 마디의 길이 (0) | 2020.07.12 |
[SWEA] 1926.py : 간단한 369게임 (0) | 2020.07.12 |
[SWEA] 1859.py : 백만 장자 프로젝트 (0) | 2020.07.10 |