Coding Test/백준 - JAVA

백준 25304번 영수증 (JAVA)

6uiw 2024. 12. 4. 20:47

📌문제

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

영수증에 적힌,

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

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

입력

첫째 줄에는 영수증에 적힌 총 금액 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

 

 

 

 

📌답

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        //영수증에 적힌 총 금액 X
        int total = Integer.parseInt(br.readLine());
        //구매한 물건 종류의 수 N
        int num = Integer.parseInt(br.readLine());
        //각 물건의 가격 a와 개수 b (X N개)
        int ans = 0;
        
        //N과 a,b로 총 금액 계산 
        for(int i=0; i<num; i++) {
            String set[] = br.readLine().split(" ");
            int price = Integer.parseInt(set[0]);
            int count = Integer.parseInt(set[1]);

            ans += price*count;
        }


        //출력: 금액이 일치하는지?
        String x = total == ans ? "Yes" : "No";
        System.out.println(x);
    }
}

 

 

 

 

 

 

 

 


📢

1. 개발자 준비생이 공부한 내용을 정리한 글입니다. 내용에 오류가 있을 수 있습니다.
2. 위와 같은 이유로 내용에 대한 지적과 조언은 감사하게 받습니다.
3. 이 글의 내용은 계속 공부함으로써 언제든지 추가/수정 될 수 있습니다.