TOP
class="layout-aside-left paging-number">
본문 바로가기
[파이썬 Projects]/<파이썬 기초>

[파이썬] 백준 코딩 - 영수증

by 기록자_Recordian 2024. 6. 18.
728x90
반응형

백준코딩 25304번 문제

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

 

[문제]

 

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

영수증에 적힌,

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

[정답 코드]

 

[코드 풀이]

 

X = int(input()):

첫 번째 줄에서 총 금액 X를 입력받는다. input() 함수는 사용자로부터 입력을 받아들이고,
int() 함수는 이를 정수로 변환한다.


N = int(input()):


두 번째 줄에서 총 구매 개수 N을 입력받는다.
마찬가지로 input() 함수로 문자열 입력을 받고 int() 함수로 정수로 변환한다.


for i in range(N)::


range(N)은 0부터 N-1까지의 숫자들로 이루어진 범위를 생성한다.
이 반복문은 N번 반복된다.


a, b = input().split():


각 반복마다 한 줄의 입력을 받아 공백을 기준으로 두 부분으로 나눈다.
예를 들어, "100 2"를 입력받으면, a는 "100", b는 "2"가 된다.


a, b = int(a), int(b):


문자열로 나뉜 a와 b를 정수로 변환한다.

X -= (a * b):


각 항목의 가격 a와 개수 b를 곱한 값을 총 금액 X에서 뺀다.
예를 들어, a가 100이고 b가 2라면 X에서 200을 뺀다.

print("Yes" if X == 0 else "No"):

반복문이 끝난 후, X가 0이면 "Yes"를 출력하고, 그렇지 않으면 "No"를 출력한다.
이는 입력한 총 금액과 개별 구매 내역의 합이 일치하는지 확인하는 부분이다.

 

728x90
반응형