Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- kotlin
- GDSC
- 코틀린
- VSCode
- 스위프트
- 아마존 웹 서비스
- 머신러닝
- 소프티어
- baekjoon
- SWIFT
- DART
- Android
- 개발
- 자바
- softeer
- 현대sw
- programers
- aws
- 플러터
- java
- 알고리즘
- 다트
- Flutter
- Python
- 프로그래머스
- MVVM
- 코테
- 백준
- 안드로이드
- 파이썬
Archives
- Today
- Total
조준장 개발자 생존기
[baekjoon] 백준 2225번(파이썬): 합분해 본문
문제
2225번: 합분해
첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다.
www.acmicpc.net
알고리즘
- 점화식을 통해 문제를 수행한다.
- 점화식 : dp[i][j] = dp[i][j - 1] + dp[i - 1][j]
n = 1 | n = 2 | n = 3 | n = 4 | n = 5 | ... | |
k = 1 | 1 | 1 | 1 | 1 | 1 | ... |
k = 2 | 2 | 3 | 4 | 5 | 6 | ... |
k = 3 | 3 | 6 | 10 | 15 | 21 | ... |
코드
import sys
n, k = map(int, sys.stdin.readline().split())
dp = [[0] * 201 for _ in range(201)]
# 점화식 : dp[i][j] = dp[i][j - 1] + dp[i - 1][j]
# 초기 세팅
for x in range(201):
# 1개 수로 x를 만드는 경우의 수
dp[1][x] = 1 # 자기 자신뿐
# 2개의 수로 x를 만드는 경우의 수
dp[2][x] = x + 1
# 반복문을 통해 점화식 수행
for i in range(2, 201):
# i개로 1을 만드는 경우의 수 i개
dp[i][1] = i
for j in range(2, 201):
dp[i][j] = (dp[i][j - 1] + dp[i - 1][j]) % 1000000000
print(dp[k][n])
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 7490번(파이썬): 0 만들기 (0) | 2022.05.09 |
---|---|
[baekjoon] 백준 5635번(파이썬): 생일 (0) | 2022.05.08 |
[baekjoon] 백준 2133번(파이썬): 타일 채우기 (0) | 2022.05.06 |
[baekjoon] 백준 14503번(파이썬): 로봇 청소기 (0) | 2022.05.05 |
[baekjoon] 백준 15686번(파이썬): 치킨 배달 (0) | 2022.05.04 |