CodingTest/Baekjoon
[baekjoon] 백준 2502번(파이썬): 떡 먹는 호랑이
JunJangE
2022. 2. 6. 14:54
문제
2502번: 떡 먹는 호랑이
첫줄에 첫 날에 준 떡의 개수 A를 출력하고 그 다음 둘째 줄에는 둘째 날에 준 떡의 개수 B를 출력한다. 이 문제에서 주어진 D, K에 대해서는 항상 정수 A, B (1≤A≤B)가 존재한다.
www.acmicpc.net
알고리즘
- 반복문을 통해 조건에 맞는 모든 경우를 탐색한다.
- 할머니가 호랑이를 처음 만난 날에 준 떡의 개수 A, 그 다음 날에 호랑이에게 준 떡의 개수 B => 1≤A≤B이다.
- d일까지 할머니가 떡을 주는 경우를 탐색하고 d 일어날 호랑이에게 준 떡이 k 개라면 A와 B를 출력하고 종료한다.
코드
import sys
d, k = map(int, sys.stdin.readline().split())
# 반복문을 통해 조건에 맞는 모든 경우를 탐색한다.(1≤A≤B)
for i in range(1, 100000):
for j in range(1, 100000):
dp = [0] * (d + 1)
dp[1] = i
dp[2] = j
# d일까지 할머니가 떡을 주는 경우를 탐색
for l in range(3, d + 1):
dp[l] = dp[l - 1] + dp[l - 2]
# 마지막 날에 할머니가 떡을 준 개수가 k개라면
# 첫 번째날과 두 번째 날에 떡을 준 개수를 출력하고 종료한다.
if dp[-1] == k:
print(dp[1])
print(dp[2])
exit()
github
GitHub - junjange/CodingTest: 내가 푼 코딩 테스트 문제와 해결법
내가 푼 코딩 테스트 문제와 해결법. Contribute to junjange/CodingTest development by creating an account on GitHub.
github.com