반응형
[ Contents ]
1. 문제 (링크 참조)
2. 문제 풀이
가장 큰 눈사람을 만드는 문제입니다. 입력에는 '눈사람을 만들 수 있는 눈의 양 x'와 '이미 만든 눈 뭉치 k'가 주어집니다. 눈사람은 총 3개의 눈뭉치를 쌓아서 만들어야 하며, 위에 쌓는 눈뭉치는 아래것보다 1/2 작아야 합니다.
3. 코드
# 입력
# x: 공원에 있는 눈의 양, k: 이미 만든 눈뭉치의 양
x, k = map(int, input().split())
# k가 가장 맨 위에 올라갈 눈뭉치인 경우
if k*7 <= x:
print(k*7000)
# k가 중간에 위치할 눈뭉치인 경우
elif k*3.5 <= x:
print(k*3500)
# k가 가장 아래 위치한 눈뭉치인 경우
elif k*1.75 <= x:
print(k*1750)
# 만들지 못하는 경우
else:
print(0)
가장 작은 눈뭉치의 크기를 a라고 했을 때, 전체 필요한 눈의 양은 a + 2a + 4a = 7a입니다. 현재 남아있는 눈의 양에 따라, 이미 만든 눈뭉치 k를 어디에 배치해야하는지 판별합니다.
만약 불가능하다면, 0을 출력합니다. (눈사람을 만들 수 없음)
반응형
'Algorithm' 카테고리의 다른 글
[구현/실수오차] 백준 15128 Congruent Numbers - 파이썬(Python) (0) | 2022.09.28 |
---|---|
[그리디/Greedy] 백준 11034 캥거루 세마리 2 - 파이썬(Python) (0) | 2022.09.27 |
[구현/수학] 백준 18414 X に最も近い値 (The Nearest Value) - 파이썬(Python) (0) | 2022.09.25 |
[동적계획법/DP] 백준 9251 LCS - 파이썬(Python) (0) | 2022.09.24 |
[구현/수학] 백준 8723 Patyki - 파이썬(Python) (1) | 2022.09.23 |
댓글