Coded by Juny

영수증 본문

Coding & Algorithm/Baekjoon

영수증

Juny_Choi 2023. 11. 13. 13:54
 
 

25304번: 영수증

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

www.acmicpc.net

 

문제

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

영수증에 적힌,

  • 구매한 각 물건의 가격과 개수
  • 구매한 물건들의 총 금액

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

 

입력

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

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

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

 

출력

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

 

제한

  •  1≤ X ≤1000000000
  •  1≤ N ≤100
  •  1≤ a ≤1000000
  •  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

제출

import java.util.*;

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

        int temp = 0;
        for (int i = 0; i < count; i++){
            int x = scanner.nextInt();
            int y = scanner.nextInt();
            temp = temp + (x * y);
        }
        if (temp == total){
            System.out.println("Yes");
        }
        else {
            System.out.println("No");
        }
        scanner.close();
    }
}

 

회고

쉬웠다.

원리는 total에 총 금액을 넣어주고 물건 개수와 금액이 매번 들어오는 값마다 다르므로 포문에 count 변수만큼 반복을 하게끔 하고 temp 변수에 물건 값을 넣어 if문으로 total 금액과 비교하여 맞는 문장이 출력되도록 하였다.

'Coding & Algorithm > Baekjoon' 카테고리의 다른 글

A+B - 7  (1) 2023.11.16
빠른 A+B  (1) 2023.11.16
코딩은 체육과목 입니다.  (0) 2023.11.13
알람 시계  (0) 2023.11.12
꼬마 정민  (0) 2023.11.12