코딩테스트/JAVA

[JAVA/백준 11382번] 꼬마 정민

할루솔이 2023. 10. 31. 22:30
반응형

https://www.acmicpc.net/problem/25304

 

25304번: 영수증

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

www.acmicpc.net

 

문제

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

영수증에 적힌,

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

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

입력

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

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

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

출력

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

제한

예제 입력 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

👉 풀이과정

숫자만 입력받아서 저장한 후, 비교해서 출력하면 끝!!

너무 간단하다!!!!

처음엔 String으로 받아서 공백 기준으로 분할해야 하나 싶었는데

그냥 int타입 2개로 받아도 통과됐다!

 

📌 제출코드

import java.util.*;

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

        int x = scan.nextInt();
        int n = scan.nextInt();
        int sum = 0;
        for(int i=0;i<n;i++){
            int a = scan.nextInt();
            int b = scan.nextInt();
            sum+=a*b;
        }

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

}

 

 

 

 

반응형