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}')

 

애스터로이드