Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 코로나19
- 파이썬
- 편스토랑
- 백준
- leetcode
- 금융문자분석경진대회
- Git
- Docker
- dacon
- 맥북
- 더현대서울 맛집
- gs25
- 편스토랑 우승상품
- AI 경진대회
- 데이콘
- SW Expert Academy
- PYTHON
- ChatGPT
- 캐치카페
- Kaggle
- ubuntu
- github
- programmers
- 우분투
- hackerrank
- 프로그래머스 파이썬
- 프로그래머스
- Baekjoon
- Real or Not? NLP with Disaster Tweets
- 자연어처리
Archives
- Today
- Total
솜씨좋은장씨
[BaekJoon] 5585번 : 거스름돈 (Python) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 백준의 거스름돈 입니다.
5585번: 거스름돈
타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사
www.acmicpc.net
👨🏻💻 문제 풀이
change_list = [500, 100, 50, 10, 5, 1]
먼저 거스름돈으로 주고자하는 금액 목록을 큰 값 순서대로 리스트에 담은 리스트를 하나 만들어 줍니다.
change = 1000 - money_to_pay
입력 받은 금액을 활용하여 내가 받는 거스름돈의 총 금액을 구합니다.
change_idx = 0 # 거스름돈 금액 idx 0 ~
change_num = 0 # 거스름돈 개수
change_list 에서 금액을 꺼내올 때 쓸 idx 값인 change_idx
총 거스름돈의 개수를 구할때 쓸 change_num 변수를 만들어줍니다.
while True:
if change == 0:
break
if change_list[change_idx] > change:
change_idx += 1
else:
change -= change_list[change_idx]
change_num += 1
이제 while 반복문을 활용합니다.
if change == 0:
break
남은 거스름돈이 0이 될때 반복문을 중단합니다.
if change_list[change_idx] > change:
change_idx += 1
else:
change -= change_list[change_idx]
change_num += 1
만약 현재 남은 거스름돈이 내가 현재 change_list 에서 꺼내온 값보다 작을 경우
change_idx를 1증가시키고
그렇지 않을 경우
change_list에서 꺼내온 값을 현재 남은 거스름돈 총액 빼준 후
거스름돈 개수를 1 증가시킵니다.
전체 코드는 아래를 참고해주세요.
👨🏻💻 코드 ( Solution )
def calculate_change(money_to_pay):
change_list = [500, 100, 50, 10, 5, 1]
change = 1000 - money_to_pay
change_idx = 0
change_num = 0
while True:
if change == 0:
break
if change_list[change_idx] > change:
change_idx += 1
else:
change -= change_list[change_idx]
change_num += 1
return change_num
if __name__ == "__main__":
money_to_pay = int(input())
print(calculate_change(money_to_pay))
GitHub - SOMJANG/CODINGTEST_PRACTICE: 1일 1문제 since 2020.02.07
1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.
github.com
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[BaekJoon] 10870번 : 피보나치 수 5 (Python) (0) | 2022.06.15 |
---|---|
[BaekJoon] 1292번 : 쉽게 푸는 문제 (Python) (0) | 2022.06.14 |
[BaekJoon] 25238번 : 가희와 방어율 무시 (Python) (0) | 2022.06.12 |
[BaekJoon] 2896번 : 무알콜 칵테일 (Python) (0) | 2022.06.11 |
[BaekJoon] 4659번 : 비밀번호 발음하기 (Python) (0) | 2022.06.09 |
Comments