25304번: 영수증

min_bok_·2022년 12월 12일

백준-단계별로 풀기

목록 보기
26/29

문제

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

영수증에 적힌,

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

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

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

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

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

제한

  • 1 ≤ X ≤ 1,000,000,000 
  • 1 ≤ N ≤ 100
  • 1 ≤ a ≤ 1,000,000
  • 1 ≤ b ≤ 10

예제 입력 1
260000
4
20000 5
30000 2
10000 6
5000 8

예제 출력 1
Yes

예제 입력 2
250000
4
20000 5
30000 2
10000 6
5000 8

예제 출력 2
No

제출

1번

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split("\n");


let X = input[0];
let rest;

[X, input[1], ...rest] = input;

let result = 0;

for(let i = 0; i < rest.length; i++) {
    result += (parseInt(rest[i].split(" ")[0]) * parseInt(rest[i].split(" ")[1]))
}

console.log((result == X) ? "Yes" : "No");

2번

const input = require('fs').readFileSync('/dev/stdin').toString().trim().split("\n");

let totalPrice = +input[0];
let count = +input[1];
let result = 0;

for(let i = 2; i <= count+1; i++) {
     result += input[i].split(" ")[0] * input[i].split(" ")[1]
}

console.log(result == totalPrice ? "Yes" : "No");

0개의 댓글