그리디 문제
동전을 최소로 사용해서 해당 숫자를 만들어 내면 되는 문제와 비슷한 문제이다
동전의 종류를 배열로 받아 큰 단위부터 빼주면 되는 문제이다
https://www.acmicpc.net/problem/11047
let input = [];
const readline = require("readline").createInterface({
input: process.stdin,
output: process.stdout,
});
readline.on("line", (line) => {
input.push(line);
});
readline.on("close", () => {
solution(input);
process.exit();
});
const solution = (inp) => {
let [n, k] = inp
.shift()
.split(" ")
.map((el) => Number(el));
let arr = inp.map((el) => Number(el));
let arrlen = arr.length;
let temp = k;
let cnt = 0;
for (let i = arrlen - 1; i >= 0; i--) {
if (temp === 0) {
break;
}
if (Math.floor(temp / arr[i]) < 0) {
continue;
}
let cal = Math.floor(temp / arr[i]);
temp -= cal * arr[i];
cnt += cal;
}
console.log(cnt);
};
'개발 노트 > 백준, 프로그래머스 풀이' 카테고리의 다른 글
[백준 1010/javascript] 다리 놓기 (0) | 2022.10.09 |
---|---|
[백준 1543/javascript] 문서 검색 (1) | 2022.10.08 |
[백준 1251/javascript] 단어 나누기 (0) | 2022.10.06 |
[백준 2003/javascript] 수들의 합 2 (1) | 2022.10.04 |
[백준 9872/javascript] Record Keeping (0) | 2022.10.03 |
댓글