https://www.acmicpc.net/problem/25304
25304번: 영수증
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것
www.acmicpc.net
문제
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.
영수증에 적힌,
- 구매한 각 물건의 가격과 개수
- 구매한 물건들의 총 금액
을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.
입력
첫째 줄에는 영수증에 적힌 총 금액 X가 주어진다.
둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 N이 주어진다.
이후 N개의 줄에는 각 물건의 가격 a와 개수 b가 공백을 사이에 두고 주어진다.
출력
구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다.
제한
- 1 ≤ X ≤ 1000000000
- 1 ≤ N ≤ 100
- 1 ≤ a ≤ 1000000
- 1 ≤ b ≤ 10
코드 정답
1번 코드
x = int(input())
n = int(input())
c = 0
for i in range(n):
a, b = map(int, input().split())
d = a * b
c += d
if c == x:
print("Yes")
else:
print("No")
2번 코드
total = int(input())
n = int(input())
for i in range(n):
a, b = map(int, input().split())
total -= (a*b)
print("Yes" if total==0 else "No")
해설
1번 코드)
1행 : 문자를 입력받아 정수형으로 변환 후 변수 x 에 대입한다.
2행 : 문자를 입력받아 정수형으로 변환 후 변수 n 에 대입한다.
3행 : 변수 c 를 생성 후 0 을 대입한다.
4행 : i 가 0부터 n에 저장된 값에 다다를 때까지 5 ~ 7행을 반복한다.
5행 : 문자를 입력받아 정수형으로 변환 후 각각 a 와 b 에 저장한다.
6행 : a 와 b 를 곱한 값을 d 에 저장한다.
7행 : c = c + d 와 같은 문장이다.
8 ~ 11 행 : c 가 x 와 값이 같다면 Yes를 아니라면 No를 출력한다.
2번 코드)
1행 : 문자를 입력받아 정수형으로 변환 후 total 에 대입한다.
2행 : 문자를 입력받아 정수형으로 변환 후 n 에 대입한다.
4행 : i 가 0부터 n에 저장된 값에 다다를 때까지 5 ~ 6행을 반복한다.
5행 : 문자를 입력받아 정수형으로 변환 후 각각 a 와 b 에 저장한다.
6행 : total = total - (a*b) 와 같은 문장이다.
7행 : 토탈이 0이라면 Yes, 아니라면 No를 출력한다.
'BaekJoon > 단계별로 풀어보기' 카테고리의 다른 글
[백준] 반복문 - 11021번 (Python) (0) | 2022.11.21 |
---|---|
[백준] 반복문 - 15552번 (Python) (0) | 2022.11.21 |
[백준] 반복문 - 8393번 (Python) (0) | 2022.11.21 |
[백준] 반복문 - 10950번 (Python) (0) | 2022.11.21 |
[백준] 반복문 - 2739번 (Python) (0) | 2022.11.21 |