https://www.acmicpc.net/problem/9493
문제
거리와 기차의 속도, 비행기의 속도가 주어졌을 때 얼마나 비행기가 빠르게 도착하는지 구하는 문제이다.
풀이
주어지는 속도는 시속인데 마지막 정답을 출력할 때는 초까지 나타내야 하기 때문에 속도를 초속으로 바꿔준다.
시간은 거리 나누기 속도이므로 비행기와 열차의 시간 차이는 아래와 같이 계산할 수 있다.
$$ \frac{distance}{train} - \frac{distance}{air} = time $$
$$ \frac{distance(air - train)}{air \times train} = time $$
계산된 시간은 비행기와 열차의 시간 차를 초로 나타낸 것인데 이걸 시, 분, 초로 계산해서 출력하면 된다.
출력 형식은 분과 초는 두 자리로 출력해야 하기 때문에 f-string 포매팅과 :02 를 사용하였다.
코드
while True:
dis, train, air = map(int, input().split())
if dis == 0 and train == 0 and air == 0:
break
train = train / 3600
air = air / 3600
time = int((dis * (air - train) / (air * train)) + 0.5)
hour = time // 3600
minute = (time % 3600) // 60
second = time % 60
print(f'{hour}:{minute:02}:{second:02}')
'Online Judge > Baekjoon' 카테고리의 다른 글
[Baekjoon 31263] 대한민국을 지키는 가장 긴 힘 | Python (0) | 2024.08.30 |
---|---|
[Baekjoon 26264] 빅데이터? 정보보호! | Python (0) | 2024.08.30 |
[Baekjoon 5698] Tautogram | Python (0) | 2024.08.30 |
[Baekjoon 5692] 팩토리얼 진법 | Python (0) | 2024.08.29 |
[Baekjoon 28432] 끝말잇기 | Python (0) | 2024.08.29 |