import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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 sum = 0;
for (int i = 1; i <= N; i++) {
String[] strs = br.readLine().split(" ");
int a = Integer.parseInt(strs[0]); // 구매 물건 가격
int b = Integer.parseInt(strs[1]); // 구매 물건 개수
int price = a * b; // 구매 물건 총 금액
sum += price; // 구매 물건 금액 총 합
}
if (X == sum) {
System.out.println("Yes");
} else {
System.out.println("No");
}
}
}
# 입/출력 결과
# 과정
BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
int X, int N에 각 총 구매 금액, 총 구매 개수 입력 받아서 저장.
총 구매 금액과 비교할 실제 총 구매 금액을 담을 int sum 생성.
for문을 사용해서 총 구매 개수 만큼 반복.
구매 물건 각격은 int a에, 구매 물건 개수는 int b에 입력 값 받아서 저장.
실제 총 구매한 가격의 총 합을 int sum에 덧셈 대입 연산자로 차곡 차곡 저장.
if문을 사용해서 int X와 int sum을 비교하여 금액이 같으면 "Yes", 다르면 "No"
# 느낀 점
이번에는 for문과 if문을 사용해서 총 금액과 구매 물건 개수와 가격을 곱한 값을 덧셈 대입 연산자로 계산하여 영수증에 적힌 총 금액과 계산한 금액이 동일한지 비교하여 결과를 출력하도록 만들었다.
코드를 작성하기 전에 생각을 하면서 노트에 낙서하듯이 적어보고 그대로 코드를 IDE에 작성하여 실행하면서 하고 있는데, 이렇게 하면 조금 더 기억에 오래 남고 내가 어떤 생각으로 이렇게 코드를 짰구나. 그리고 어디서 잘못 되면 왜 잘못 되었는지를 고민하게 되는 거 같다.