문제
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.
영수증에 적힌,
- 구매한 각 물건의 가격과 개수
- 구매한 물건들의 총 금액
을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.
입력
첫째 줄에는 영수증에 적힌 총 금액 가 주어진다.
둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 이 주어진다.
이후 개의 줄에는 각 물건의 가격 와 개수 가 공백을 사이에 두고 주어진다.
출력
구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다.
풀이 과정
영수증에 적힌 총 금액, 구매한 물건 종류의 수를 차례대로 입력받고, 물건들을 구매한 값 (각 물건의 가격 x 개수) 을 모두 더하여 영수증에 적힌 총 금액과 일치하는 지 비교한다. 반복문을 사용하여 물건의 정보를 차례대로 입력받아야 한다.
C
#include <stdio.h>
int main(void) {
int x, n, sumPrice = 0;
scanf("%d", &x);
scanf("%d", &n);
while(n--) {
int a, b;
scanf("%d %d", &a, &b);
sumPrice += a * b;
}
if (sumPrice == x) printf("Yes");
else printf("No");
return 0;
}
C++
#include <iostream>
using namespace std;
int main(void) {
int x; cin >> x;
int n; cin >> n;
int sumPrice = 0;
while(n--) {
int a, b; cin >> a >> b;
sumPrice += a * b;
}
if (sumPrice == x) cout << "Yes";
else cout << "No";
return 0;
}
Python
import sys
input = sys.stdin.readline
x = int(input().rstrip())
n = int(input().rstrip())
sumPrice = 0
for _ in range(n):
a, b = map(int, input().rstrip().split())
sumPrice += a * b
if sumPrice == x: print('Yes')
else: print('No')
Java
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int n = sc.nextInt();
int sumPrice = 0;
for (int i = 0; i < n; i++) {
int a = sc.nextInt();
int b = sc.nextInt();
sumPrice += a * b;
}
if (sumPrice == x) System.out.println("Yes");
else System.out.println("No");
}
}
'-- 예전 기록 > BOJ' 카테고리의 다른 글
[ BOJ ] 15552 : 빠른 A + B ( BRONZE 4 ) / C, C++, Python, Java (0) | 2023.09.06 |
---|---|
[ BOJ ] 25314 : 코딩은 체육과목 입니다 ( BRONZE 5 ) / C, C++, Python, Java (2) | 2023.09.05 |
[ BOJ ] 8393 : 합 ( BRONZE 5 ) / C, C++, Python, Java (2) | 2023.09.03 |
[ BOJ ] 10950 : A+B - 3 ( BRONZE 5 ) / C, C++, Python, Java (0) | 2023.09.03 |
[ BOJ ] 2739 : 구구단 ( BRONZE 5 ) / C, C++, Python, Java (0) | 2023.09.02 |