개발자's Life

[Coding Test] 백준(반복문) - 영수증 본문

코딩테스트

[Coding Test] 백준(반복문) - 영수증

Rowen Jobs 2023. 3. 11. 01:53
728x90
반응형

문제

준원이는 저번 주에 살면서 처음으로 코스트코를 가 봤다. 정말 멋졌다. 그런데, 몇 개 담지도 않았는데 수상하게 높은 금액이 나오는 것이다! 준원이는 영수증을 보면서 정확하게 계산된 것이 맞는지 확인해보려 한다.

영수증에 적힌,

  • 구매한 각 물건의 가격과 개수
  • 구매한 물건들의 총 금액

을 보고, 구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하는지 검사해보자.

입력

첫째 줄에는 영수증에 적힌 총 금액 X가 주어진다.

둘째 줄에는 영수증에 적힌 구매한 물건의 종류의 수 이 주어진다.

이후 개의 줄에는 각 물건의 가격 와 개수 가 공백을 사이에 두고 주어진다.

출력

구매한 물건의 가격과 개수로 계산한 총 금액이 영수증에 적힌 총 금액과 일치하면 Yes를 출력한다. 일치하지 않는다면 No를 출력한다.

 

import java.util.Scanner;

public class Main {
	public static void main(String[] args) {
		
		Scanner in = new Scanner(System.in);
		
		int total = in.nextInt();
        int costco_count = in.nextInt();
        int result = 0;
        
        // 얘가 없으면 위 costco_count 에서 입력 엔터가 다음으로 넘어가 문제가 생김
        // 결론은 마지막 엔터 처리를 위하여 진행
        in.nextLine();
        
        for(int i = 0; i < costco_count; i++){
            String priceAndCount = in.nextLine();
            String[] priceAndCount2 = priceAndCount.split(" ");
            result += Integer.parseInt(priceAndCount2[0]) * Integer.parseInt(priceAndCount2[1]); 
        }
        
        if(total == result){
            System.out.println("Yes");
        }else{
            System.out.println("No");
        }
	}
}

split 함수를 사용하여 공백으로 입력 되는 갯수와 가격을 나누어주고 두개의 값을 곱하여 누적하여 결과를 도출하였다. 

그리고 총 합과 도출한 결과를 비교하여 Yes or No 로 출력하였다. 

728x90
Comments