본문 바로가기
코테/코테withJS

백준 Node.js(자바스크립트) 1712번 손익분기점 문제

by 트레일헤드레인저 2021. 8. 20.
SMALL

포문으로 해보니 시간초과가 나왔다.

const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().split(' ');

const A = +input[0];
const B = +input[1];
const C = +input[2];


console.log("ABC is",A, B, C);
solution(A,B,C);

function solution(A,B,C) {

  let answer = 1;

  for (let i = 1; i < 2100000001; i++) {


    if ((A + B * i) - C * i < 0) { // 이득 날때
      break;
    }
    
    if(B *i- C * i>= 0) {
      answer = -1;
      break;
    }
    answer++;

  }
  console.log(answer);
}

다른 블로그에서 간단하게 푼 풀이로 해보니 정답이 되었다.

const fs = require("fs");
const [...arr] = (
  process.platform === "linux"
    ? fs.readFileSync("/dev/stdin").toString()
    : `1000 70 170`
)
  .trim()
  .split(" ");

let A = Number(arr[0]);
let B = Number(arr[1]);
let C = Number(arr[2]);

let N = A / (C - B);

let answer = Math.floor(N) + 1;

B >= C ? (answer = -1) : answer;

console.log(answer);
LIST