알고리즘/백준알고리즘

[백준알고리즘] #14065. Gorivo (by JAVA and node.js)

Jimnya 2022. 4. 28. 09:59
728x90
반응형

백준알고리즘

- Bronze 4 -

 #14065. Gorivo by JAVA and node.js 

 


 

문제

출처: https://www.acmicpc.net/problem/14065 

번역: https://www.acmicpc.net/board/view/85908

 

글 읽기 - (번역) 14065 - 연료

댓글을 작성하려면 로그인해야 합니다.

www.acmicpc.net


 

접근 방법

1갤런 = 3.785411784리터

1마일 = 1609.344 미터

입력: 1갤런 당 가는 마일의 수 (= x마일 이라고 가정)

출력: 100km당 몇 L를 소비하는가?

 

1갤런 당 x마일

=> 3.785411784리터 당 x * 1609.344 미터 이동

=> 1리터 당 x * 1609.344 / 3.785411784 미터 이동

=> 1리터당 (x * 1609.344 / 3.785411784) / 1000 키로미터 이동

=> 100 키로미터 당 소비되는 연료(L)의 양을 y라고 한다면, y = 100 / ((x * 1609.344 / 3.785411784) / 1000)

( 1L : (x * 1609.344 / 3.785411784) / 1000 km = yL : 100km 이용)

 


 

풀이

▶ JAVA

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        double x = scan.nextDouble(); // 1갤런 당 이동할 수 있는 거리(마일)
        scan.close();

        double m = x * 1609.344 / 3.785411784; // 1L 당 이동할 수 있는 거리(미터)
        System.out.println(100 /(m/1000)); // 100km를 이동하는데 소모되는 연료(L)
    }
}

 

▶ node.js

평소대로 fs.readFileSync('/dev/stdin')을 사용해서 풀었는데 "런타임 에러(EACCES)"가 발생했다.

게시판 공지에 보니 1년전 쯤 fs말고 readline을 사용하라고 한다.

 

readline에 대한 내용은 아래 블로그 참고

https://velog.io/@exploit017/%EB%B0%B1%EC%A4%80Node.js-Node.js-%EC%9E%85%EB%A0%A5-%EB%B0%9B%EA%B8%B0

 

[백준/Node.js] Node.js 입력 받기

일반적으로 JS에서는 prompt로 입력을 받았으나, 백준에서는 런타임 오류가 발생한다.검색해보니 Node.js의 realine 모듈을 import해서 사용해야했다.소스 코드는 다음과 같다.console.log(answer);에 의해 입

velog.io

// 기존: var fs = require('fs');
var readline = require('readline');

// 기존: var input = fs.readFileSync('/dev/stdin').toString().trim()....
var rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

// line에 입력값이 들어간다. (문자열반환)
rl.on('line', function(line){
    // +line: 문자열로 들어온 입력값을 숫자로 반환
    var m = +line * 1609.344 / 3.785411784;
    
    // 출력
    console.log(100 / (m / 1000));

    rl.close();
}).on("close", function(){
    process.exit();
});

 


 

결과

 


 

 

 

 

 

End.

heisely's 괴발개발 개발일지

 

728x90
반응형