[BOJ/백준][Java] (25304) 영수증

(25304)
영수증


 

 

25304번: 영수증

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

www.acmicpc.net

문제 설명

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

영수증에 적힌,

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


입력

첫째 줄에는 영수증에 적힌 총 금액 $X$가 주어진다.

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

이후 $N$개의 줄에는 각 물건의 가격 $a$와 개수 $b$가 공백을 사이에 두고 주어진다.


출력

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


제한

$1 ≤ X ≤ 1\,000\,000\,000$ 
$1 ≤ N ≤ 100$ 
$1 ≤ a ≤ 1\,000\,000$ 
$1 ≤ b ≤ 10$


입출력 예제

입력 출력
260000
4
20000 5
30000 2
10000 6
5000 8
Yes
250000
4
20000 5
30000 2
10000 6
5000 8
No

코드

나의 풀이

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int x = scanner.nextInt();
        int n = scanner.nextInt();
        int res = 0;

        for (int i = 0; i < n; i++)
        {
            int a = scanner.nextInt();
            int b = scanner.nextInt();
            res += a * b;
        }

        if (res == x) {
            System.out.println("Yes");
        } else if (res != x) {
            System.out.println("No");
        }
    }
}

총액과 카운트를 x, n으로 입력받는다.

반복문을 통해 카운트만큼 금액과 개수의 곱을 결과값을 출력할 변수인 res에 더한다.

총액과 결과값이 동일한 액수라면 Yes를, 그렇지 않다면 No를 출력한다.