문제
구매한 각 물건의 가격과 총합이 일치하는지 확인해야 한다.
풀이
야 우리집에서 이마트 털러 가도 26만원어치는 못사… 게임팩을 털어왔나 아무튼 그래요… 가랑비에 옷 젖는 줄 모른다는 말이 이럴 때 쓰는 말임…
아무튼 로직이 2단인데
- 다 더한다
- 비교한다
이게 다다.
import sys
total_price = int(sys.stdin.readline())
what_buy = int(sys.stdin.readline())
# 총합과 물건 종류 수
if_total = 0
for i in range(what_buy):
price, amount = map(int, sys.stdin.readline().split())
if_total += price * amount
# 더함
if if_total - total_price == 0:
print("Yes")
else:
print("No")
# 끝
그래서 이게 다다. 엥? if에 왜 if_total – total_price == 0이 들어갔어요? 두개 똑같으면 뺐을때 0이잖음.
import sys
total_price = int(sys.stdin.readline())
what_buy = int(sys.stdin.readline())
# 총합과 물건 종류 수
if_total = 0
i = 1
while i <= what_buy:
price, amount = map(int, sys.stdin.readline().split())
if_total += price * amount
i += 1
# 더함
if if_total - total_price == 0:
print("Yes")
else:
print("No")
# 끝
While은 이거.
import sys
total_price = int(sys.stdin.readline())
what_buy = int(sys.stdin.readline())
# 총합과 물건 종류 수
if_total = 0
while True:
try:
price, amount = map(int, sys.stdin.readline().split())
if_total += price * amount
except:
break
# 더함
if if_total - total_price == 0:
print("Yes")
else:
print("No")
# 끝
While True는 트라이 익셉 주면 되는데, 이건 틀린다. 왜냐하면 입력할 개수를 지정해줬기 때문에 While True가 의미가 없기 때문.
Reply