반응형
1.문제
준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.
영수증에 적힌,
- 구매한 각 물건의 가격과 개수
- 구매한 물건들의 총 금액
을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.
2.풀이
import java.io.*;
public class Main
{
public static void main(String[] args) throws IOException
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int X = Integer.parseInt(br.readLine()); // 총 금액
int N = Integer.parseInt(br.readLine()); // 물건의 종류의 수
int total = 0;
for(int i = 1; i <= N; i++)
{
String num = br.readLine();
int index = num.indexOf(" ");
int a = Integer.parseInt(num.substring(0,index));
int b = Integer.parseInt(num.substring(index + 1));
total += a * b;
}
if(X == total)
{
System.out.print("Yes");
}else
{
System.out.print("No");
}
}
}
3.메모
총 금액 X와 물건의 종류의 수 N을 각각 얻고 1번~N번 이하까지 반복문을 돌린다.
num에 들어올 숫자는 공백을 기준으로 앞에 물건의 가격 a, 물건의 금액 b가 들어온다고 했기 때문에
.indexOf()를 사용하여 공백의 인덱스 번호를 얻고 그 번호를 기준으로 substring으로 쪼갰다.
total에 a * b를 더하며 최종 total 값이 총 금액 X와 같으면 "Yes" 출력, 아니면 "No"를 출력했다.
https://www.acmicpc.net/problem/25304
반응형
'Baekjoon [Java]' 카테고리의 다른 글
백준 [Java] 15552번 빠른 A+B (0) | 2024.08.05 |
---|---|
백준 [Java] 25314번 코딩은 체육과목 입니다 (0) | 2024.07.30 |
백준 [Java] 8393번 합 (0) | 2024.07.16 |
백준 [Java] 10950번 A+B - 3 (0) | 2024.07.16 |
백준 [Java] 2739번 구구단 (2) | 2024.07.16 |