코딩 테스트

[코딩테스트] 백준 25304번: 영수증

dev.jelee 2025. 5. 13. 21:10

# 문제

 

# 코드

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");
    }
  }
}

 

# 입/출력 결과

 

# 과정

  1. BufferedReader + InputStreamReader 클래스를 사용하여 입력값 받기.
  2. int X, int N에 각 총 구매 금액, 총 구매 개수 입력 받아서 저장.
  3. 총 구매 금액과 비교할 실제 총 구매 금액을 담을 int sum 생성.
  4. for문을 사용해서 총 구매 개수 만큼 반복.
  5. 구매 물건 각격은 int a에, 구매 물건 개수는 int b에 입력 값 받아서 저장.
  6. 실제 총 구매한 가격의 총 합을 int sum에 덧셈 대입 연산자로 차곡 차곡 저장.
  7. if문을 사용해서 int X와 int sum을 비교하여 금액이 같으면 "Yes", 다르면 "No"

 

# 느낀 점

  • 이번에는 for문과 if문을 사용해서 총 금액과 구매 물건 개수와 가격을 곱한 값을 덧셈 대입 연산자로 계산하여 영수증에 적힌 총 금액과 계산한 금액이 동일한지 비교하여 결과를 출력하도록 만들었다.
  • 코드를 작성하기 전에 생각을 하면서 노트에 낙서하듯이 적어보고 그대로 코드를 IDE에 작성하여 실행하면서 하고 있는데, 이렇게 하면 조금 더 기억에 오래 남고 내가 어떤 생각으로 이렇게 코드를 짰구나. 그리고 어디서 잘못 되면 왜 잘못 되었는지를 고민하게 되는 거 같다.
  • 이런 문제를 풀면서 생각도 더 깊어지는 거 같다.