반응형
구름 코딩테스트 체크 카드 자바스크립트 풀이
https://level.goorm.io/exam/160275/%EC%B2%B4%ED%81%AC-%EC%B9%B4%EB%93%9C/quiz/1
솔루션
// Run by Node.js
const readline = require('readline');
(async () => {
let rl = readline.createInterface({ input: process.stdin });
const data = []
let deposit //잔액
let count //거래 횟수
for await (const line of rl) {
data.push(line)
}
rl.close();
deposit = Number(data[0].split(" ")[0])
count = data[0].split(" ")[1]
let reservation = [] //예약 거래
for(let i = 1; i <= count; i++){
const transaction_history = data[i]
const type = transaction_history.split(" ")[0] //거래 타입
const amount = Number(transaction_history.split(" ")[1]) //거래 금액
if(type === "deposit"){
deposit += amount //잔액 추가
while(deposit >= reservation[0] && reservation.length > 0){
deposit -= reservation[0]
reservation.shift()
}
}else if(type === "pay"){
if(deposit >= amount){ //잔액이 있을때만 거래
deposit -= amount
}
}else if(type === "reservation"){
if(deposit >= amount && reservation.length === 0){ //잔액이 있을때만 거래
deposit -= amount
}else{
reservation.push(amount) //거래 예약 마지막으로 추가
}
}
}
console.log(deposit)
process.exit();
})();
배운 점
rl.close();
이거 위치 때문에 문제 생기는 경우가 있습니다. ( 덕분에 1시간 낭비 했습니다.)
백준도 그렇게 왜 파일 읽는 형태로 만들었는지 모르겠네요.
( 함수형태로 받으면 이런일이 안생기는데. )
반응형
'개발관련 > 매일 코딩 테스트 챌린지' 카테고리의 다른 글
구름 코딩 테스트 구름이의 취미 문제 자바스크립트 풀이 (0) | 2023.07.08 |
---|---|
자바스크립트 구름 코딩테스트 문제 구름 숫자 (0) | 2023.07.07 |
자바스크립트 코딩테스트 구름 거스름돈 (0) | 2023.07.06 |
자바스크립트 코딩 테스트 구름 문제 연속 점수 문제 (0) | 2023.07.06 |
[자바스크립트] 코딩테스트 큰 팩토리얼 (0) | 2023.07.06 |