영수증
문제
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.
영수증에 적힌,
- 구매한 각 물건의 가격과 개수
- 구매한 물건들의 총 금액
을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.
입력
첫째 줄에는 영수증에 적힌 총 금액 X$X$가 주어진다.
둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N$N$이 주어진다.
이후 N$N$개의 줄에는 각 물건의 가격 a$a$와 개수 b$b$가 공백을 사이에 두고 주어진다.
출력
구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다.
제한
- $1 ≤ X ≤ 1\,000\,000\,000$
- 1≤X≤1000000000
- $1 ≤ N ≤ 100$
- 1≤N≤100
- $1 ≤ a ≤ 1\,000\,000$
- 1≤a≤1000000
- $1 ≤ b ≤ 10$
- 1≤b≤10
예제 입력 1
260000
4
20000 5
30000 2
10000 6
5000 8
예제 출력 1
Yes
영수증에 적힌 구매할 물건들의 목록으로 계산한 총 금액은 20000 × 5 + 30000 × 2 + 10000 × 6 + 5000 × 8 = 260000원이다. 이는 영수증에 적힌 총 금액인 260000원과 일치한다.
예제 입력 2
250000
4
20000 5
30000 2
10000 6
5000 8
예제 출력 2
No
코드
package baekjoon;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class B25304 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int X = Integer.parseInt(br.readLine());
int N = Integer.parseInt(br.readLine());
StringTokenizer st;
int sum = 0;
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine(), " ");
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
sum += a * b;
}
System.out.println(X == sum ? "Yes" : "No");
}
}
시간 제한 메모리 제한 제출 정답 맞힌 사람 정답 비율
1 초 | 1024 MB | 23965 | 14167 | 13101 | 60.563% |
'알고리즘 공부 > 백준 문제풀이' 카테고리의 다른 글
[백준] 1550 : 16진수(JAVA) (0) | 2022.10.28 |
---|---|
[백준]10757 : 큰 수 A+B (JAVA) (0) | 2022.10.28 |
[백준] 11022 : A+B -8 (JAVA) (0) | 2022.10.28 |
[백준] 11719 그대로 출력하기 2(JAVA) (0) | 2022.10.28 |
[백준] 1100 : 하얀 칸(JAVA) (0) | 2022.10.28 |