백준에서 node.js 나 js로 알고리즘을 풀려고하면
자바처럼 값을 입력받는 scanner 같은게 없어서 파일로 받아야하는데
테스트도 안되고 짱날때가 있어서 기본코드를 만들어 놨다
// readline 모듈보다는 fs를 이용해 파일 전체를 읽어 들여 처리하기
const fs = require('fs')
const input = fs
.readFileSync(process.platform === "linux" ? "/dev/stdin" : "test.txt")
.toString()
.trim()
.split("\n");
function solution(data) {
let [N,K] = input[0].split(" ").map(Number);
let coin = new Array(); // 동전꾸러미
for(let i = 1 ; i <= N ; i++)
{
coin.push(Number(input[i]));
}
coin.sort(function(a,b){
return b - a;
});
let cnt = 0;
for(let p of coin){
cnt += Math.floor(K/p);
K = K%p;
}
console.log(cnt);
}
solution(input);
상단의 코드를 위에 두고 아래에서 함수 짜서 만들면 행복한 코딩 가능 !
예제
const fs = require('fs')
const getInput = (filePath) => {
return fs
.readFileSync(filePath)
.toString()
.split(/\n/);
}
const input = getInput('/dev/stdin'); // 제출시 여기 '/dev/stdin' 으로 변경
function calculateTotalSum(K, numbers) {
const stack = [];
for (let i = 0; i < K; i++) {
const num = numbers[i];
if (num == 0) {
stack.pop(); // 가장 최근에 쓴 수를 지움
} else {
stack.push(num); // 해당 수를 씀
}
}
let sum = 0;
while (stack.length > 0) {
sum += Number(stack.pop()); // 스택에 남아있는 수들의 합을 계산
}
return sum;
}
var aa = Array();
for(var i = 1 ; i <= input.length - 1 ; i++)
{
aa.push(input[i]);
}
console.log(calculateTotalSum(input[0],aa));
'프론트엔드 > Javascript' 카테고리의 다른 글
[Js] 전화번호 입력시 하이픈(-) 추가 함수 (0) | 2024.02.20 |
---|---|
parseInt()와 Number()의 차이 (0) | 2023.04.04 |
[Javascript] jquery infinite scroll (0) | 2023.03.08 |
[javascript] array형 / object형 변수 반복문 정리 (0) | 2023.03.08 |
[Javascript] rest parameter 란? (0) | 2023.02.21 |