일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 회귀
- 파이썬
- 자바
- modern c++
- regression
- 스포티파이
- SECS-II
- MYSQL
- Computer Science
- Baekjoon
- C++
- Spring JPA
- spring boot
- CS
- 프로그래머스
- java
- c
- Spring
- programmers
- SECS
- 회원가입
- SECS/GEM
- SWEA
- spotify
- linux
- Gem
- python
- Spotify Api
- 백준
- SW Expert Academy
- Today
- Total
비버놀로지
[SWEA SW Expert Academy] 6019. 기차 사이의 파리 (PYTHON) 본문
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWajaTmaZw4DFAWM
궁금증이 많은 한 소녀는 존 폰 노이만(John von Neumann)에게 다음과 같은 문제를 질문했다.
“두 기차 A, B가 서로를 향해 달리고 있다. 두 기차의 전면부는 250마일 떨어져 있고 기차 A는 시속 10마일, B는 시속 15마일로
달리고 있다.
파리가 기차 A의 전면부에서 기차 B로 시속 20마일의 속력으로 날아간다. 파리가 기차 B의 전면부에 닿으면 바로 방향을 바꿔
기차 A를 향해 같은 속력으로 날아간다.
그러다 기차 A와 B가 충돌하면 파리는 죽을 것이다. 파리는 죽기 전 까지 몇 마일의 거리를 이동했을까?”
폰 노이만은 소녀의 질문에 대해 즉시 무한 급수를 이용해 답이 200마일이라는 것을 계산해냈다.
소녀가 질문한 문제의 조금 더 일반화된 버전을 해결해보자.
[입력]
첫 번째 줄에 테스트 케이스의 수 T가 주어진다.
각 테스트 케이스의 첫 번째 줄에는 네 정수 D, A, B, F (1 ≤ D ≤ 103, 1 ≤ A ≤ B < F ≤ 102) 가 주어진다.
D는 두 기차 전면부 사이의 거리, A는 기차 A의 속력, B는 기차 B의 속력, F는 파리의 속력이다.
[출력]
각 테스트 케이스마다 ‘#t’(t는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고 한 칸을 띄운 후,
각 테스트 케이스마다 파리가 이동한 거리를 출력한다. 정답과의 절대오차나 상대오차가 10-6 이하이면 정답으로 인정한다.
이 문제를 푸는 방식으로 거리, 속력, 시간을 활용을 해서 문제를 해결했습니다.
두 기차 A와 B가 충돌하는 시간을 구해서 파리가 그 시간동안 일정한 속도로 비행을 하기 때문에 시간과 속력을 곱해서 답을 도출하게 됩니다.
T=int(input())
for i in range(T):
D, A, B, F =map(int,input().split())
time=D/(A+B)
print(f"#{i+1} {F*time}")
'ALGORITM > PYTHON' 카테고리의 다른 글
[Programmers 프로그래머스] 87389 나머지가 1이 되는 수 찾기 (PYTHON) (0) | 2021.10.22 |
---|---|
[Programmers 프로그래머스] 87390 n^2 배열 자르기 (PYTHON) (0) | 2021.10.17 |
[Programmers 프로그래머스] 77885 2개 이하로 다른 비트 (PYTHON) (0) | 2021.07.22 |
[Programmers 프로그래머스] 77485 행렬 테두리 회전하기 (PYTHON) (0) | 2021.07.21 |
[Programmers 프로그래머스] 76502 괄호 회전하기 (PYTHON) (0) | 2021.07.21 |