본문 바로가기
파이썬(Python)

[파이썬][BOJ] 백준 25304번 영수증 문제

by 안한량 2022. 12. 29.
728x90

문제의 링크 : https://www.acmicpc.net/problem/25304

 

25304번: 영수증

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

www.acmicpc.net


요약

 

먼저 입력 데이터 구분을 해보자.

 

정수형 데이터 두 줄 

총액 : 260000 <- int

물건의 종류 수 : 4 <-int

 

세 번째 줄부터의 데이터는 '문자열'이다. 

이유는 중간에 공백이 들어갔기 때문이다.

 

20000 5 <- str  

 

그렇다면 우리는

1. 종류의 숫자만큼 반복
2. str 데이터를 정수로 변환
3. 정수로 변환된 두 수를 곱셈

4. 곱해서 나온 데이터를 저장하면 된다.


코드

def whe():                  #whether
    amount = int(input())
    kind = int(input())
    sum = 0
    for i in range(kind):
        str_list = input().split()
        sum += int(str_list[0]) * int(str_list[1])
    if amount == sum:
        print('Yes')
    else: print('No')

whe()

 

첫 째줄 260000을 입력받아 amount에 저장

둘 째줄 4를 입력받아 kind에 저장

kind 종류에 수에 맞게 range(kind)를 통해 반복 횟수 지정.

input값의 공백을 구분하여 인덱스를 가진 배열로 나눠주는 split() 함수 사용.

 

ex) 스플릿 사용 :
50000 8 ->   str_list[0] = '50000', str_list[1] = '8'


하지만 아직 문자열 데이터이므로

총액 sum에 더해줄 때 int()를 통해 캐스팅.

 

조건문
첫줄 amount와 모두 저장된 sum이 같으면 

문자열 'Yes' 출력,

아니라면 'No' 출력.

 

깃허브 링크 : 

728x90