본문 바로가기
Coding Test (코딩 테스트)

코딩테스트 8일차(2025.01.22) - 25304번(영수증)

by BioLearner 2025. 1. 22.
반응형

내 풀이

첫재 줄에는 영수증에 적힌 총 금액 X

둘째 줄에는 영수증이 적힌 구매한 물건의 종류의 수 N

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

 

일치하면 Yes 불일치시 No 출력

 

# 첫번째 줄 받는 값
total = int(input())

# 두번째 줄 받는 값
count = int(input())

real_total = 0

# 계산
for _ in range(count):
    A, B = map(int, input().split())
    real_total += A * B

# 계산 검토
if real_total == total:
    print("Yes")
else:
    print("No")

결과: 정답

더 옳은 정답

# 영수증에 적힌 총 금액
total = int(input())
# 구매한 물건 종류의 수
n = int(input())

# 실제 계산 총액
actual_total = 0

# n개의 물건들의 가격과 개수를 입력받아 계산
for _ in range(n):
    price, quantity = map(int, input().split())
    actual_total += price * quantity

# 영수증 금액과 실제 계산 금액 비교
print("Yes" if total == actual_total else "No")

 

마지막 부분에 더 간결한 방법으로 if문을 만드는 게 더 이상적이다. 하지만 가독성을 고치는 간결한 문은 피하는게 좋다.

 

고찰

 

반응형