포스트

Bronze 25304. 영수증

Bronze 25304. 영수증

[Bronze IV] 영수증 - 25304

문제 링크

성능 요약

메모리: 9344 KB, 시간: 88 ms

분류

수학, 구현, 사칙연산

제출 일자

2025년 8월 10일 21:50:03

문제 설명

준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.

영수증에 적힌,

  • 구매한 각 물건의 가격과 개수
  • 구매한 물건들의 총 금액

을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.

입력

첫째 줄에는 영수증에 적힌 총 금액 X가 주어진다.

둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N이 주어진다.

이후 N개의 줄에는 각 물건의 가격 a와 개수 b가 공백을 사이에 두고 주어진다.

출력

구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다.

영수증.js

1
2
3
4
5
6
7
8
9
10
11
12
13
const fs = require("fs");
const input = (process.platform === "linux" ? fs.readFileSync(0, "utf-8") : fs.readFileSync("run/input.txt")).toString().trim().split("\n");

let allPrice = Number(input[0]);
const itemCount = Number(input[1]);

for (let i = 0; i < itemCount; i++) {
  const itemPriceAndCount = input[i + 2].trim().split(" ").map(Number);
  allPrice -= itemPriceAndCount[0] * itemPriceAndCount[1];
}

console.log(allPrice === 0 ? "Yes" : "No");

이 글은 저작권자의 CC BY 4.0 라이센스를 따릅니다.