본문 바로가기

코딩/파이썬

[백준/Python] - 반복문 25304번 / 영수증

문제

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

영수증에 적힌,

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

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

입력

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

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

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

출력

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

Python 코드

x = int(input())
n = int(input())

for _ in range(n):
	a, b = map(int, input().split())
	x -= a * b
print("Yes" if x == 0 else "No")

풀이

x변수에 영수증에 적힌 총 금액을 입력받는다.

n변수에 구매한 물품 종류의 수를 입력받는다.

a, b 변수에 각각 물건의 가격과 개수를 입력받은 후 총 금액 변수 x 에서 a,b를 곱한 값을 빼준다.

if 조건문으로 총 금액이 0원이 되었을 경우 "Yes"를, 금액이 맞지 않을 경우 "No"를 출력한다.