📌 문제 링크
https://www.acmicpc.net/problem/25304
📌 문제 탐색하기
- 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes, 일치하지 않는다면 No를 출력한다.
시간복잡도
- O(n)
📌 코드 설계하기
- 문제의 입력값을 개행으로 분리하고 `total`, `count`, `...input`으로 구조분해할당 합니다.
- `input`은 띄어쓰기로 분리하여 숫자로 변환합니다.
- 주어진 배열의 모든 값을 더하기 위해 `sum`을 초기화합니다.
- 반복문을 돌면서 주어진 제품과 개수를 곱하여 `sum`에 더합니다.
- 반복문이 끝나면 `sum`과 `total`을 비교하여 올바른 값을 출력합니다.
📌 정답 코드
//https://www.acmicpc.net/problem/25304
export {};
const fs = require("fs");
const filePath =
process.platform === "linux" ? "/dev/stdin" : __dirname + "/input1.txt";
const [total, count, ...input] = fs
.readFileSync(filePath)
.toString()
.trim()
.split("\n");
const product = input.map((x: string) => x.split(" ").map(Number));
let sum = 0;
for (let i = 0; i < count; i++) {
sum += product[i][0] * product[i][1];
}
console.log(sum === Number(total) ? "Yes" : "No");
'코딩 > 알고리즘' 카테고리의 다른 글
백준) 10818 - 최소, 최대 JS (0) | 2024.11.08 |
---|---|
백준) 8393 - 합 JS (0) | 2024.11.07 |
백준) 15552 - 빠른 A+B JS (0) | 2024.11.05 |
백준) 11382 - 꼬마 정민 JS (0) | 2024.11.04 |
백준) 11866 - 요세푸스 문제 0 JS (0) | 2024.10.27 |