본문 바로가기
알고리즘 풀이/SW Expert Academy

[SWEA 2005] 파스칼의 삼각형(python)

by char_lie 2023. 2. 13.
반응형

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5P0-h6Ak4DFAUq 

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

파스칼의 삼각형 문제

위에서 아래로 파스칼의 삼각형의 형태(위 줄의 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을 활용하여 문제를 풀어보는 과정으로 나온 여러 알고리즘 문제를 풀었는데, 굳이 꼭 스텍을 이용하지 않아도 풀 수 있는 문제는 충분히 다른걸 활용해도 괜찮다는 생각이 들었다. 물론 이게 가장 효율적인 코드인가?는 아직 다른 이야기지만..

문제를 풀면서 확실히 스택의 개념을 이해하니 꼭 과제로 나온 문제들 뿐 아니라 백준 등에서도 활용할 때 생각보다 편리해서 쉽게 접근할 수 있었다.😃

반응형

댓글