Notice
Recent Posts
Recent Comments
Link
just inside
[SWEA/D2] 2005. 파스칼의 삼각형 본문
728x90
[문제 링크]
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
[문제 설명]
크기가 N인 파스칼의 삼각형을 만들어야 한다.
파스칼의 삼각형이란 아래와 같은 규칙을 따른다.
1. 첫 번째 줄은 항상 숫자 1이다.
2. 두 번째 줄부터 각 숫자들은 자신의 왼쪽과 오른쪽 위의 숫자의 합으로 구성된다.
N이 4일 경우,

N을 입력 받아 크기 N인 파스칼의 삼각형을 출력하는 프로그램을 작성하시오.
[제약 사항]
파스칼의 삼각형의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10)
[입력]
가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.
각 테스트 케이스에는 N이 주어진다.
[출력]
각 줄은 '#t'로 시작하고, 다음 줄부터 파스칼의 삼각형을 출력한다.
삼각형 각 줄의 처음 숫자가 나오기 전까지의 빈 칸은 생략하고 숫자들 사이에는 한 칸의 빈칸을 출력한다.
(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)
제출 코드
t = int(input())
for i in range(1, t+1):
tri = [[1], [1, 1], [1, 2, 1]]
n = int(input())
if n > 3:
for j in range(3, n):
pre = tri[j-1]
new = [1] + [pre[x-1]+pre[x] for x in range(1, j)] + [1]
tri.append(new)
print(f"#{i}")
for nums in tri[:n]:
print(*nums)
풀이
- n이 3보다 큰 경우, 앞의 리스트 값을 이용해 새로운 리스트를 계산한다.
- 인덱스를 잘 이용해야 한다.
알아둘 사항
728x90
'coding test > SWEA' 카테고리의 다른 글
[SWEA/D2] 2001. 파리 퇴치 (0) | 2024.11.06 |
---|---|
[SWEA/D2] 1989. 초심자의 회문 검사 (0) | 2024.11.05 |
[SWEA/D2] 1986. 지그재그 숫자 (0) | 2024.11.05 |
[SWEA/D2] 1984. 중간 평균값 구하기 (0) | 2024.11.04 |
[SWEA/D2] 1983. 조교의 성적 매기기 (0) | 2024.11.04 |