728x90
https://www.acmicpc.net/problem/25304
문제
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.
영수증에 적힌,
- 구매한 각 물건의 가격과 개수
- 구매한 물건들의 총 금액
을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.
풀이
반복문을 이용하여 총 액수를 구하고, 주어진 금액과 일치하는지 비교하는 문제이다.
Scanner 클래스를 이용한 방법, BufferedReader 클래스를 이용한 방법으로 풀어 보았다.
코드
Scanner 클래스를 이용한 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int X = scanner.nextInt();
int N = scanner.nextInt();
int total = 0;
for(int i = 0; i < N; i++) {
int a = scanner.nextInt();
int b = scanner.nextInt();
total += a * b;
}
if(X == total) System.out.println("Yes");
else System.out.println("No");
}
}
BufferedReader 클래스를 이용한 코드
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st;
int X = Integer.parseInt(br.readLine());
int N = Integer.parseInt(br.readLine());
int total = 0;
for(int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
total += Integer.parseInt(st.nextToken()) * Integer.parseInt(st.nextToken());
}
if(X == total) System.out.println("Yes");
else System.out.println("No");
}
}
틀린 부분이 있다면 정정해주시면 감사하겠습니다.
궁금한 부분이 있거나, 다른 아이디어가 있으시면 자유롭게 댓글 남겨주세요!
728x90
'[JAVA]백준 알고리즘 > 단계별 - 반복문' 카테고리의 다른 글
[JAVA]백준 알고리즘 11021번 : A+B - 7 (0) | 2023.01.03 |
---|---|
[JAVA]백준 알고리즘 15552번 : 빠른 A+B (0) | 2023.01.03 |
[JAVA]백준 알고리즘 8393번 : 합 (0) | 2023.01.01 |
[JAVA]백준 알고리즘 10950번 : A+B - 3 (0) | 2023.01.01 |
[JAVA]백준 알고리즘 2739번 : 구구단 (0) | 2023.01.01 |