본문 바로가기
JAVA 코딩 알고리즘 연습/백준

백준 - 영수증 (25304번) / JAVA (자바) 코딩 알고리즘 연습

by easpop 2022. 12. 26.
728x90
반응형

영수증 성공

 
 
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 1024 MB 35034 20234 18506 59.187%

문제

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

영수증에 적힌,

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

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

입력

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

반응형

백준 초창기에 코스트코에 방문하는 것과 같이 문제 예시가 재밌다고 생각했던 문제ㅋㅋㅋㅋ

for문으로 price로 금액과 quatity로 수량을 scanner 메서드로 받아서

sum으로 누적값을 구한 후

실제 total 금액과 비교하여 동일하면 Yes를 출력하고 아니면 No를 출력하면 되는 간단한 문제!

import java.util.Scanner;

public class Main {

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

		for (int i = 1; i <= count; i++) {
				int price = scanner.nextInt();
				int quantity = scanner.nextInt();
			
				sum += (price * quantity);
			}
		
		
		if(sum == total) {
			System.out.println("Yes");
		}else {
			System.out.println("No");
		}
		
	}
}
728x90
반응형

댓글