[Python] SW Expert Academy 2005. 파스칼의 삼각형
문제의 저작권은 SW Expert Academy에 있습니다.
https://swexpertacademy.com/main/code/problem/problemDetail.do
SWEA라는 사이트를 알게 되고 처음 푼 문제로 파스칼의 삼각형을 만드는 문제로 난도가 높지는 않았지만 제출할 때 #1... #2... 이런 식으로 출력되야해서 코드를 약간 수정했다. 이점을 주의해야겠다.
코드
TC = int(input())
for t in range(1, TC+1):
result = []
n = int(input())
for i in range(n):
temp = []
for j in range(i+1):
if j == 0 or j == i:
temp.append(1)
else:
temp.append(result[i-1][j] + result[i-1][j-1])
result.append(temp)
print('#%d' % t)
for i in result:
print(*i)
풀이
for문을 3번 활용하여 출력하는데 보기에는 복잡해 보이지만 result라는 리스트에 temp 리스트들을 추가하여 그 값을 출력하면 된다. 조건문을 활용해 처음과 끝은 항상 1이므로 1을 추가하고 중간의 값들은 전에 생성한 리스트의 j값과 j-1의 값을 더하여 추가한다. (DP 느낌의 문제 같다.)
문제를 풀며 파이썬의 다른 출력 방식에 대해 많이 배우게 되었다. 검색을 통해 %s, %d 같은 c언어 느낌의 출력 법과 각 리스트를 띄어쓰기만 해서 표기하는 *i에 대해서도 이번 기회에 알게 되었다.
풀이 결과
'알고리즘' 카테고리의 다른 글
백준 11052번 카드 구매하기 파이썬 풀이 (0) | 2022.02.26 |
---|---|
백준 2164번 카드2 파이썬 풀이 (0) | 2022.02.24 |
백준 1406번 에디터 파이썬 풀이 (0) | 2022.02.19 |
백준 9095번 1, 2, 3 더하기 파이썬 풀이 (0) | 2022.02.17 |
백준 1874번 스택 수열 파이썬 풀이 (0) | 2022.02.15 |