반응형
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5P0-h6Ak4DFAUq
파스칼의 삼각형 문제
위에서 아래로 파스칼의 삼각형의 형태(위 줄의 2개 합이 다음 줄에 나타나는 형태)로 출력하는 문제
100% 내 생각으로 풀었는가?
→ O
쉽게 생각하면 간단한 문제였다!
내가 푼 정답코드
T = int(input())
for case in range(1,T+1):
N = int(input())
n = [0]*N
for i in range(N):
n[i] = [1]*(i+1) #1로 입력
for i in range(2,N): #맨 앞부분 제외
for j in range(1,len(n[i])):
if j < len(n[i])-1: #맨 뒷부분 제외
n[i][j] = n[i-1][j-1]+n[i-1][j] #가운데 부분 = 이전줄 두개의 합
print(f'#{case}')
for i in range(N):
print(*n[i])
사실은 stack을 이용해서 풀어보라는 의도로 과제로 나온 문제인데 stack을 이용하지 않고 성질을 그대로 적용해서 풀었다
느낀점
오늘 stack을 활용하여 문제를 풀어보는 과정으로 나온 여러 알고리즘 문제를 풀었는데, 굳이 꼭 스텍을 이용하지 않아도 풀 수 있는 문제는 충분히 다른걸 활용해도 괜찮다는 생각이 들었다. 물론 이게 가장 효율적인 코드인가?는 아직 다른 이야기지만..
문제를 풀면서 확실히 스택의 개념을 이해하니 꼭 과제로 나온 문제들 뿐 아니라 백준 등에서도 활용할 때 생각보다 편리해서 쉽게 접근할 수 있었다.😃
반응형
'알고리즘 풀이 > SW Expert Academy' 카테고리의 다른 글
[SWEA 1222] 계산기1 (python) (0) | 2023.02.15 |
---|---|
[SWEA 1234] 비밀번호(python) (0) | 2023.02.13 |
[SWEA 1954] 달팽이 문제 (0) | 2023.02.13 |
[SWEA 9386] 연속한 1의 개수(python) (0) | 2023.02.12 |
[SWEA 1208]Flatten (python) (0) | 2023.02.11 |
댓글