티스토리 뷰
https://www.acmicpc.net/problem/6236
6236번: 용돈 관리
현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로
www.acmicpc.net
이진탐색
2343 기타레슨이랑 똑같은 문제? 그냥 변수명만 바꿨는데 맞았음
const fs = require('fs');
const input = fs.readFileSync("./dev/stdin").toString().trim().split("\n")
const [N, M] = input.shift().split(' ').map(Number);
const money = input.map(Number);
let min = Math.min(...money);
let max = money.reduce((r, v) => r + v, 0);
let answer = Infinity;
while (min <= max) {
let updateMin = 0;
mid = Math.floor((min + max) / 2);
let temp = mid;
let cnt = 0;
for (let i = 0; i < N; i++) {
if (temp - money[i] >= 0) {
temp -= money[i];
} else {
cnt++;
temp = mid - money[i];
if (temp < 0) {
updateMin = money[i];
break;
}
}
}
if (updateMin > 0) {
min = updateMin;
continue;
}
if (temp < mid) cnt++;
if (cnt <= M) {
if (answer > mid) {
answer = mid
}
max = mid - 1;
} else {
min = mid + 1;
}
}
console.log(answer)
728x90
'자료구조 알고리즘 > 백준' 카테고리의 다른 글
Node.js)백준 1269번: 대칭 차집합 (3) | 2022.04.20 |
---|---|
Node.js) 백준 7795번: 먹을 것인가 먹힐 것인가 (0) | 2022.04.20 |
Node.js)백준 2343번: 기타 레슨 (0) | 2022.04.19 |
Node.js) 백준 2792번: 보석 상자 (0) | 2022.04.18 |
Node.js)백준 2776번: 암기왕 (0) | 2022.04.18 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- node.js
- 최소공통조상
- 면접질문
- 다이나믹프로그래밍
- KMP
- 다이나밍프로그래밍
- 투포인터 연습
- BFS
- 서버점검
- 로드나인
- 그래프
- DB 생성
- 개발자면접
- 서버개발
- 면접비
- 동적프로그래밍
- MOD
- MySQL
- 투포인터
- 은둔청년체험
- create db
- 롱베케이션
- create databases;
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
글 보관함