반응형
https://www.acmicpc.net/problem/16395
[풀이]
기존 연산이 다음 연산에 영향을 미치기 때문에 DP로 풀이했다.
우선 대각선 형태로 되어 있는 것을 N*N 형태의 배열로 만들었다.
또한, 초기값을 1로 만들고 나서 다음 연산할 부분만 2중 for문으로 만들어서 파스칼의 삼각형을 완성했다.
[코드]
n, k = map(int, input().split())
dp = [[1] * (n + 1) for _ in range(n + 1)]
for i in range(3, n + 1):
for j in range(2, i):
dp[i][j] = dp[i - 1][j - 1] + dp[i - 1][j]
print(dp[n][k])
[시간복잡도]
O(N^2)
반응형
'CS > Algorithm' 카테고리의 다른 글
[Java] 백준 2852번: NBA 농구 (0) | 2025.06.28 |
---|---|
[Python/Java] 백준 14626번: ISBN (2) | 2025.06.07 |
[Java] 백준 11293번: Password (0) | 2025.05.28 |
[Python] 백준 17087번: 숨바꼭질 6 (0) | 2025.05.27 |
[Python] 백준 1964번: 오각형, 오각형, 오각형… (0) | 2025.05.27 |