기초 프로그래밍/Python

[백준] 25304번 파이썬 python(영수증)

Chaerry._o 2023. 7. 18. 15:43
반응형

▷ 문제

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

영수증에 적힌,

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

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

 

전체 코드

X = int(input())
N = int(input())
S = 0

for i in range(N):
    A, B = map(int, input().split())
    S += A*B

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

 

코드 분석

X = int(input())
N = int(input())

변수 X에 영수증에 적힌 총 금액을 입력하고, 변수 N에 영수증에 적힌 구매한 물건의 종류의 수를 입력한다.

input() 함수를 통해 입력 받은 값을 문자열로 변수에 저장한다. int() 함수를 사용해 입력 받은 문자열을 정수형으로 변환시켜준다.

 

S = 0

변수 S(sum)에 0을 넣어준다.

 

for i in range(N):
    A, B = map(int, input().split())
    S += A*B

for 문과 range() 함수를 사용해 N번 반복되는 반복문을 만든다. map() 함수는 입력된 요소를 지정된 함수(int)로 처리해주는 함수이다. input().split() 함수를 통해 입력 받은 값을 문자열로 변수에 저장한 후 입력받은 변수를 나눠준다. 그리고 int() 함수를 사용해 문자열을 정수형으로 바꿔준다.

마지막으로 초기값이 0인 S에 A와 B를 곱한 값을 더해준다.

 

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

영수증에 적힌 총 금액 X와 산 물건의 합인 S의 값이 같으면 Yes를 출력하고 같지 않으면 No를 출력한다.

반응형