문제 목적
총 구매 금액과 각 항목의 가격 및 수량을 바탕으로 실제 구매 금액과 제시된 총액이 일치하는지 검증하는 문제입니다. 이 문제는 기본적인 수학적 계산과 반복문, 조건문 사용법을 익히는 것을 목적으로 합니다. 실제 생활에서의 영수증 검증과 같은 실용적인 상황을 모델링하여 프로그래밍 논리력을 키울 수 있습니다.
핵심 개념
- 변수 사용 및 기본 연산: 구매한 각 항목의 가격과 수량을 저장하고, 이를 총액과 비교하기 위해 변수를 적절히 사용하고 기본적인 산술 연산을 수행합니다.
- 반복문: 여러 항목에 대한 가격과 수량을 입력받아 합산할 때 반복문을 사용합니다.
- 조건문: 최종 계산된 총액이 실제 지불해야 하는 총액과 일치하는지 검증하기 위해 조건문을 사용합니다.
문제 해결 절차
- 총액 입력 받기: 사용자로부터 최종 지불해야 할 총 금액을 입력받습니다.
- 항목의 수 입력 받기: 구매한 항목의 개수를 입력받습니다.
- 각 항목의 가격과 수량 입력 및 계산: 구매한 각 항목의 가격과 수량을 입력받아, 이를 모두 합하여 실제 구매 금액을 계산합니다.
- 총액 일치 검증: 계산된 실제 구매 금액이 처음에 입력받은 총 금액과 일치하는지 확인합니다.
- 결과 출력: 총액이 일치하면 "Yes"를, 일치하지 않으면 "No"를 출력합니다.
# 총액 입력 받기
total = int(input())
# 항목의 수 입력 받기
n = int(input())
# 실제 구매 금액 계산
actual_total = 0
for _ in range(n):
price, quantity = map(int, input().split())
actual_total += price * quantity
# 총액 일치 검증 및 결과 출력
if actual_total == total:
print("Yes")
else:
print("No")
코드 분석
- total과 n에 사용자 입력을 받아 총액과 항목의 수를 저장합니다.
- 반복문 for _ in range(n)은 사용자로부터 n개의 항목에 대한 가격과 수량을 입력받아야 하므로, n번 반복합니다.
- price * quantity를 통해 각 항목의 총 가격을 계산하고, actual_total에 누적하여 실제 구매 금액을 계산합니다.
- 마지막으로, 입력받은 총액 total과 계산된 실제 구매 금액 actual_total을 비교하여 일치하는지 확인합니다.
- 결과에 따라 "Yes" 또는 "No"를 출력하여, 제시된 총액이 실제 구매 금액과 일치하는지 사용자에게 알립니다.
마무리
반복문 밖에서 입력받을 변수와 안에서 받을 변수를 구분하고 초기화가 필요한 변수 먼저 찾아주는 것이 필요했다. 조건문에 출력을 위한 조건을 설정해서 출력을 하는 접근을 배웠다.
'알고리즘, 자료구조' 카테고리의 다른 글
[백준| 단계별로 풀어보기 3단계 반복문 | Python] 10952번 A + B 입력처리 (1) | 2024.04.03 |
---|---|
[백준| 단계별로 풀어보기 3단계 반복문 | Python] 15552번 빠른 A + B (0) | 2024.04.03 |
[백준| 단계별로 풀어보기 2단계 | Python] 2884번 알람 시계 (0) | 2024.04.02 |
[백준| 단계별로 풀어보기 1단계 | Python] 2588번 곱셈 (0) | 2024.04.01 |
[백준| 단계별로 풀어보기 1단계 | Python] 10430번 나머지 map() (1) | 2024.04.01 |