반응형
문제
- 준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.
- 영수증에 적힌,
- 구매한 각 물건의 가격과 개수
- 구매한 물건들의 총 금액
- 을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.
입력
- 첫째 줄에는 영수증에 적힌 총 금액 X가 주어진다.
둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N이 주어진다.
이후 N개의 줄에는 각 물건의 가격 a 와 개수 b 가 공백을 사이에 두고 주어진다.
출력
- 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다
예제입력 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
문제풀이
- 주어진 물건의 가격과 갯수를 더해서 총금액과 맞는지 확인하는 문제
- 첫번째, 두번째 줄을 빼고 나머지 부분을 반복문으로 더해야하는 하는데 다시 두개로 나눠지기에 split()으로 a,b 를 나눔
// 25304번 문제
// 영수증 계산 확인
const fs = require("fs");
const file = process.platform === "linux" ? "dev/stdin" : "./text.txt";
const input = fs.readFileSync(file).toString().trim().split("\n");
//총금액
const x = Number(input[0]);
//물건의 종류 수
const n = Number(input[1]);
let total = 0;
// n 종류의 수는 입력값이 0부터 시작이라 +1만 해줌
for (i = 2; i <= n + 1; i++) {
let m = input[i].split(" ");
let a = Number(m[0]);
let b = Number(m[1]);
total += a * b;
}
// 삼항 연산자로 총금액과 반복문으로 더한 값이 맞는지 확인
x == total ? console.log("Yes") : console.log("No");
'Algorithm_javascript > 3. 반복문' 카테고리의 다른 글
백준 1552번 빠른A+B (자바스크립트, 노드js) (2) | 2023.05.12 |
---|---|
백준 25314번 코딩은 체육과목 입니다. (자바스크립트,javascript,node.js) (0) | 2023.05.12 |
백준 8393번 합 (javascript,node.js) (0) | 2023.05.11 |
백준 10950번 A+B-3 (javascript,node.js) (0) | 2023.05.11 |
백준 2739번 구구단 (javascript,node.js) (0) | 2023.05.11 |