coding/Algorithm [BOJ]

[Python][반복문] #026 - 25304번 파이썬 :: 영수증 - Coding Farm

양한마리 2022. 9. 6. 19:58
728x90

 


3. 반복문

  • 1) 2739번 - 구구단
  • 2) 10950번 - A+B - 3
  • 3) 8393번 - 합
  • 4) 25304번 - 영수증 ←
  • 5) 15552번 - 빠른 A+B
  • 6) 11021번 - A+B - 7
  • 7) 11022번 - A+B - 8
  • 8) 2438번 - 별 찍기 - 1
  • 9) 2439번 - 별 찍기 - 2
  • 10) 10871번 - X보다 작은 수
  • 11) 10952번 - A+B - 5
  • 12) 10951번 - A+B - 4
  • 13) 1110번 - 더하기 사이클

3. 반복문

    4) 25304번 - 영수증


 

문제

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

영수증에 적힌,

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

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


입력

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

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

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


출력

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


제한


예제 입력 1

260000
4
20000 5
30000 2
10000 6
5000 8

예제 출력 1

Yes

예제 입력 2

250000
4
20000 5
30000 2
10000 6
5000 8

예제 출력 2

No

[ 정답 코드 ] 

total = int(input())
total_ea = int(input())

result = 0
for N in range(total_ea) :
    a, b = map(int, input().split())
    result += (a * b)

if total == result :
    print("Yes")
else :
    print("No")

[문제 풀이] 

풀이 :

total = int(input())
total_ea = int(input())
result = 0
  • total 에는 총 금액이 주어진다.
  • total_ea 에는 구매한 물건의 종류의 수가 주어진다.
  • result 는 추후에 각 구매한 물품의 가격을 넣어줄 변수이다.
for N in range(total_ea) :
    a, b = map(int, input().split())
    result += (a * b)
  • 구매한 물품의 수만큼 반복문이 수행될 예정이다. ( for N in range(total_ea) : )
  • a, b 에 각각 구매한 물품의 가격, 수량이 주어진다.
  • 미리 준비해둔 result 변수에 반복될때마다 구매한 가격이 더해진다.
  • result += (a * b) == result = result + (a * b) # 둘다 동일하다.
if total == result :
    print("Yes")
else :
    print("No")
  • 총 금액이 주어진 total 값과 구매한 상품들의 가격이 더해진 result 값
  • 조건문으로 두개의 값이 동일한지 확인하여 맞으면 Yes 아니라면 No 를 출력한다.

문제 출처 : https://www.acmicpc.net/problem/25304

 

25304번: 영수증

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

www.acmicpc.net

728x90
반응형