◼ PS Note/백준
[백준] 25304번 : 영수증 (🥉브론즈 5) (JavaScript)
SangYoonLee (SYL)
2023. 1. 21. 00:38
반응형
문제 바로 가기
25304번: 영수증
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것
www.acmicpc.net
풀이
- 사용 언어 : JavaScript
- 풀이한 날짜 : 2022-12-13
const fs = require("fs");
// let input = fs.readFileSync("./input.txt", "utf8").toString().trim();
let input = fs.readFileSync("/dev/stdin", "utf8").toString().trim();
input = input.split("\n");
let inputTestCase = input.map((item) => item.split(" "));
// int로 전환
inputTestCase = inputTestCase.map((item) => item.map((item) => Number(item)));
function solution(inputTestCase) {
const x = inputTestCase[0][0];
const n = inputTestCase[1][0];
let totalPrice = 0;
for (let i = 2; i < n + 2; i++) {
let [price, amount] = inputTestCase[i];
totalPrice += price * amount;
}
console.log(totalPrice === x ? "Yes" : "No");
}
solution(inputTestCase);
풀이 로직
- ((각 물건의 가격) * (수량))의 전체 누적 합(반복문 사용)이 총 금액과 같은 지 비교한다.
문제 접근 과정 및 느낀점
- 문제 풀이보다 입출력값 정제 및 오류 해결이 훨씬 더 어려웠던 문제였다.
- 특히 input 변수를 const로 선언해놓고 재할당을 해버리는 바람에 TypeError가 발생하여 맞왜틀을 오래 시전했다.
- 결국 (백준에 처음으로) 질문글을 올려 잘못을 찾았다. (https://www.acmicpc.net/board/view/105431)
- 자바스크립트로 알고리즘 문제를 푸는 것에 익숙해지는 과정이라 생각하자.
- 대신 같은 실수를 반복하지 않도록 명확히 짚고 기록하고 넘어가자.
반응형