반응형
1. 문제
https://www.acmicpc.net/problem/25304
2. 풀이
1. 영수증에 쓰인 총 합계와
2. 각각의 (물건 가격 * 물건 수량)을 곱해서 더한 값이
3. 서로 같은지 판별하면 된다.
이게 무슨 말이가 하면
내가 만원짜리 A과자를 2개 사고
삼만원짜리 B과자를 1개 샀다고 해보자.
그럼 내가 구입한 물건의 종류는 A와 B 총 2개고
총 지불해야 할 돈은 50,000원이 된다.
계산대에 가서 나는 50,000원을 결제했고
영수증에 총합계란에는 50,000원이 작성되어 있었다.
그렇다면,
1. 영수증에 쓰인 총 합계
= 50,000원
2. 각각의 (물건 가격 * 물건 수량)을 곱해서 더한 값
= (10,000 * 2) + (30,000 * 1)
= 50,000원
3. 두 개의 값이 서로 같은지 판별하기
즉 1번에서 나온 50,000원과
2번에서 나온 최종 값이 같은지 확인하면 된다.
프로그램 순서
1. 영수증에 쓰인 총 합계 입력받기
2. 구매한 물건의 종류 입력받기
2-1. 구매한 물건의 개수만큼 반복문 돌기(모든 물건 값 더하는 것)
2-2. 물건 가격과 구입한 물건의 개수 곱해주기
3. 영수증에 쓰인 총 합계와 사용자가 입력한 각각의 (물건개수*물건가격)의 총 합계가 같다면
3-1. Yes 출력
3-2. 아닐 경우 No 출력
3. 코드
package loop;
import java.util.Scanner;
public class receipt_25304 {
public static void main ( String[] args ) {
Scanner scan = new Scanner(System.in);
int receiptTotal = scan.nextInt(); // 영수증에 쓰인 총 합계
int numberOfTypesOfObject = scan.nextInt(); // 물건의 종류 개수
int priceTotal = 0;
for (int i=0; i<numberOfTypesOfObject; i++) {
int priceOfObject = scan.nextInt(); // 물건의 가격
int numberOfObject = scan.nextInt(); // 물건의 개수
int price = numberOfObject * priceOfObject; // 물건 개수 * 물건 가격
priceTotal += price; //각각의 (물건 개수 * 물건 가격)의 합을 누적해서 더해준다.
}
scan.close();
if(receiptTotal == priceTotal) { //영수증에 쓰인 값과 사용자가 입력한 (물건 개수*물건 가격)의 총합이 같다면
System.out.println("Yes"); //yes 출력하시오
} else
System.out.println("No");
}
}
반응형
'IT > BaekJoon' 카테고리의 다른 글
[백준/JAVA] 15552번 '빠른 A+B' BufferedReader 설명 (0) | 2023.04.23 |
---|---|
[백준/JAVA] 25314번 '코딩은 체육과목 입니다' 쉬운 풀이 설명 (0) | 2023.04.23 |
[JAVA] 백준 8393번 합 문제 자세한 풀이 (0) | 2023.04.02 |
[JAVA] 10950번. A + B - 3 문제 (0) | 2023.03.28 |
[백준/JAVA] 2739 구구단 문제 (0) | 2023.03.12 |