[백준/파이썬] 14470번 풀이
업데이트:
문제 정보
- 문제 출처: 백준 온라인 저지
- 문제 링크: 14470번 문제
- 문제풀이 코드 GitHub 링크
- 제출 언어: Python 3
풀이
문제
JOI 군은 식사 준비를 위해 A℃의 고기를 전자레인지로 B℃까지 데우려고 한다. 고기는 온도가 0℃보다 낮을 때 얼어 있고, 0℃보다 높을 때는 얼어 있지 않다. 온도가 정확히 0℃일 때 고기는 얼어 있을 수도, 얼어 있지 않을 수도 있다.
JOI 군은 가열할 때 고기가 아래의 규칙을 따라 데워진다고 가정하고, 고기를 데우는 데 걸리는 시간을 어림하기로 했다.
-
고기가 얼어 있고 온도가 0℃ 미만일 때 : 온도가 C초에 1℃씩 오른다.
-
고기가 얼어 있고 온도가 정확히 0℃일 때 : 얼어 있지 않은 상태로 만드는(해동하는) 데 D초가 걸린다.
-
고기가 얼어 있지 않을 때 : 온도가 E초에 1℃씩 오른다.
이 규칙을 토대로, 고기가 B℃까지 데워지는 데 몇 초가 걸리는지 구하라.
입력 요약
입력은 총 5줄로, 한 줄에 한 개씩의 정수가 주어진다.
-
첫 줄에는 원래의 고기의 온도 A가 주어진다. 단, A는 -100 이상 100 이하이며, 0이 아니다.
-
둘째 줄에는 목표 온도 B가 주어진다. 단, B는 1 이상 100 이하이며, A보다 크다.
-
셋째 줄에는 얼어 있는 고기를 1℃ 데우는 데 걸리는 시간 C가 주어진다.
-
넷째 줄에는 얼어 있는 고기를 해동하는 데 걸리는 시간 D가 주어진다. …
출력 요약
고기를 B℃로 데우는 데 걸리는 시간을 초 단위로 한 줄에 출력하라.
코드
l=[int(input()) for _ in range(5)]
r=0
if l[0]<0:
r+=-l[0]*l[2]
l[0]=0
if l[0]==0:
r+=l[3]
r+=(l[1]-l[0])*l[4]
print(r)
설명
핵심은 구현 관점에서 JOI 군은 식사 준비를 위해 A℃의 고기를 전자레인지로 B℃까지 데우려고 한다. 고기는 온도가 0℃보다 낮을 때 얼어 있고, 0℃보다 높을 때는 얼어 있지 않다. …를 만족하도록 로직을 구성하는 것입니다.
코드는 입력을 파싱한 뒤 조건 분기와 계산을 순서대로 수행하고, 문제에서 요구한 형식으로 결과를 출력합니다.
경계값과 예외 케이스도 함께 고려해 오답이 나기 쉬운 상황을 방지합니다.
댓글남기기