문제
풀이
const readFileSyncAddress = '/dev/stdin';
const fs = require('fs');
let [A, B, C] = fs
.readFileSync(readFileSyncAddress)
.toString()
.trim()
.split(' ')
.map((v) => +v);
const solution = function (a, b, c) {
// 고정비용 / (판매가 - 가변비용(이익금))
// 나누어 떨어지지 않는 경우가 있을 수 있으므로 반내림 후 +1
const br = Math.floor(a / (c - b)) + 1;
// 가변비용이 판매가를 넘을 경우 손익분기점이 발생할 수 없으므로 -1
return b >= c ? -1 : br;
};
console.log(solution(A, B, C));
- 처음에는 for문을 돌려서 판매가를 하나씩 가중시켜 손익분기점이 되는 인덱스를 리턴하려고 했다.
- 제한 시간이 짧아서 다시 생각해보니 위와 같이 계산할 수 있었다.
- 다시 보니 되게 쉬운데 처음에 봤을땐 좀 어려웠다 흑흑...
'Algorithm & 자료구조 > 알고리즘 w.JavaScript' 카테고리의 다른 글
[알고리즘]백준 1193번: 분수찾기 W_node.js (0) | 2022.06.08 |
---|---|
[알고리즘] 백준 2292번: 벌집 W_node.js (0) | 2022.06.02 |
[알고리즘] 백준 1316번: 그룹 단어 체커 W_node.js (0) | 2022.05.11 |
[알고리즘] 백준 2941번: 크로아티아 알파벳 W_node.js (0) | 2022.05.11 |
[알고리즘] 백준 5622번: 다이얼 W_node.js (0) | 2022.05.10 |