© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 25304 - 영수증

2022-11-29
BOJ
브론즈 IV
java
원본 문제 보기
수학
구현
사칙연산

문제

BOJ 25304 - 영수증

영수증에 적힌 총 금액과 각 물건의 가격, 개수가 주어질 때, 총 금액이 물건들의 합계와 일치하는지 확인하라.

입력

첫째 줄에 총 금액 X, 둘째 줄에 물건 종류 수 N, 이후 N줄에 각 물건의 가격 a와 개수 b가 주어진다.

출력

총 금액이 일치하면 Yes, 아니면 No를 출력한다.

예제

입력출력
260000 4 20000 5 30000 2 10000 6 5000 8Yes

풀이

총 금액에서 각 물건의 가격 합계를 차감하여 0이 되는지 확인한다.

  1. 총 금액 total을 입력받는다
  2. 각 물건에 대해 (가격 * 개수)를 total에서 뺀다
  3. 모든 물건을 처리한 후 total이 0이면 Yes, 아니면 No를 출력한다

핵심 아이디어: 별도의 합계 변수를 만들지 않고 총 금액에서 직접 차감하면 한 번의 비교로 검증할 수 있다.

코드

package ASP_study.day299;
 
import java.util.Scanner;
 
public class Day295BOJ25304영수증 {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
 
		int total = sc.nextInt();
		int count = sc.nextInt();
 
		for (int i = 0; i < count; i++) {
			int price = sc.nextInt();
			int num = sc.nextInt();
 
			total = total - (price * num);
		}
		if (total == 0)
			System.out.println("Yes");
		else
			System.out.println("No");
	}
}

복잡도

  • 시간: O(N)
  • 공간: O(1)