알고리즘/백준알고리즘
[백준알고리즘] #14924. 폰 노이만과 파리 (by JAVA and node.js)
Jimnya
2022. 4. 29. 10:52
728x90
반응형
백준알고리즘
- Bronze 4 -
#14924. 폰 노이만과 파리 by JAVA and node.js
문제
출처: https://www.acmicpc.net/problem/14924
"아니요, 무한급수로 풀었는데요?" ㅋㅋㅋㅋㅋㅋㅋㅋ
접근 방법
"간단한 논리"를 코드화 하면 된다.
거리 = 속도*시간, 흔히 거속시라고 외우고 있는 공식을 이용하면 된다.(+ 상대속도의 개념)
기차의 속도 S와 두 기차 사이의 거리 D가 주어지므로 간단히 두 기차가 만날 시간(t)을 구할 수 있다.
t = D / 2S 로 t를 구한 뒤, 파리의 속도 T에 곱하면 파리가 이동한 거리(F = T * t)가 나온다.
풀이
▶ JAVA
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int s = scan.nextInt(); // 기차의 속도
int t = scan.nextInt(); // 파리의 속도
int d = scan.nextInt(); // 두 기차 사이의 거리
scan.close();
int time = d / (2 * s); // 두 기차가 충돌할 때까지 걸리는 시간
int f = t * time;
System.out.println(f);
}
}
▶ node.js
이 문제는 fs모듈로 풀어도 런타임에러가 발생하지 않았지만 두 가지 방법으로 풀어보았다.
var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().trim().split(' ').map(v => +v);
var s = input[0]; // 기차의 속도
var t = input[1]; // 파리의 속도
var d = input[2]; // 두 기차 사이의 거리
var time = d / (2 * s); // 두 기차가 충돌할 때까지 걸리는 시간
console.log(t * time);
var readline = require('readline');
var rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
// 입력이 한 줄에 이뤄지므로 line
rl.on('line', function(line){
var input = line.toString().trim().split(' ').map(v => +v);
var s = input[0]; // 기차의 속도
var t = input[1]; // 파리의 속도
var d = input[2]; // 두 기차 사이의 거리
var time = d / (2 * s); // 두 기차가 충돌하는데 걸리는 시간
console.log(t * time);
rl.close();
}).on('close', function(){
process.exit();
});
결과
End.
heisely's 괴발개발 개발일지
728x90
반응형