백준 1712번 손익분기점-JS
- 구글링 후 힌트보고 품
const fs = require('fs');
const filePath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';
let input = fs.readFileSync(filePath).toString().trim().split(' ');
let A = Number(input[0]);
let B = Number(input[1]);
let C = Number(input[2]);
let x = 0;
let bottom = C-B;
if(bottom > 0) {
x = A/(C-B);
if(x >= 0) {
console.log(Math.floor(x+1));
} else {
console.log(-1);
}
} else {
console.log(-1);
}
내가 계속 틀렸던 이유는 A/(C-B)에서 C-B가 음수가 아닐때 라는 조건을 달아주지 않아서이다. 나눗셈을 하는데 당연히 음수 조건이 있어야된다.
- 삼항연산자 이용한 다른사람 코드
let input = require('fs').readFileSync('/dev/stdin').toString().split(' ');
const A = input[0] * 1;
const B = input[1] * 1;
const C = input[2] * 1;
const margin = C - B;
const count = Math.floor(A / margin) + 1
console.log(margin <= 0 ? -1 : count);
깔-끔
- 새롭게 알게된 점
- 소수점 조정
Math.ceil(x): 주어진 값에 소수점 올림하여 정수를 반환
Math.floor(x): 주어진 값에 소수점 내림하여 정수를 반환
Math.round(x): 주어진 값에 소수점 반올림하여 정수를 반환
Number.prototype.toFixed(x): 주어진 값의 길이만큼 소수점 자리수를 반올림하여 반환
num.toFixed(3) 셋째자리까지 반올림해서 출력(n.nnn이렇게 출력)
Author And Source
이 문제에 관하여(백준 1712번 손익분기점-JS), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoosk5485/백준-1712번-JS저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)