코딩테스트/Baekjoon
[백준 #25304] 영수증 (node.js)
동띵
2022. 8. 9. 17:21
https://www.acmicpc.net/problem/25304
25304번: 영수증
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것
www.acmicpc.net
입력 값을 split('\n')을 사용하여 공백 기준으로 나누어 배열을 만든 후,
input[0]을 영수증에 적힌 총금액 변수인 resultSum에 넣고
input[1]을 구매한 물건의 종류의 수 변수인 bought에 넣어주었다.
(둘 다 Number를 사용하여 숫자로 변환)
그다음 물건 종류 수만큼 for문을 돌며 인덱스로 input에 접근하여 tmpStr에 넣어주고
(ex. input[3] -> 20000 5)
split을 사용하여 해당 문자열을 공백 기준으로 나누어 배열 tmpArr에 넣어주었다.
(ex. tmpArr = [20000, 5])
그리고 tmpArr의 0번 째 인덱스 값과, 1번째 인덱스 값을 곱하여
해당 물건을 구입한 가격을 구해 tmpSum에 넣어주고,
그 값을 sum에 더해주어서 물건들의 총금액을 구해주었다.
마지막으로 resultSum과 sum 값을 비교해 이 둘이 같으면 Yes를 출력하고,
다르다면 No를 출력해주었다.
const input = require('fs').readFileSync('/dev/stdin').toString().trim().split('\n');
const resultSum = Number(input[0]);
const bought = Number(input[1]);
let sum = 0;
for (let i=0; i<bought; i++) {
let tmpStr = input[i+2];
let tmpArr = tmpStr.split(" ");
let tmpSum = tmpArr[0] * tmpArr[1];
sum += tmpSum;
}
resultSum === sum ? console.log("Yes") : console.log("No");