728x90
반응형
파이썬 실습창을 열 수 있습니다.실습창 열기
1. 아이스크림
우리 동네 가게에서는 아이스크림 1개에 300원 합니다.
그런데 손잡이 3개를 모아 오면 아이스크림 1개를 줍니다.
4500원으로 몇 개의 아이스크림을 먹을 수 있을까요?
답은 22개입니다.
이 문제를 일반화시켜봅시다.
'우리 동네 가게에서는 아이스크림 1개에 (price) 원 한다.
그런데 손잡이 (stick) 개를 모아 오면 아이스크림 1개를 준다.
(money) 원으로 몇 개의 아이스크림을 먹을 수 있을까?
처음에 아이스크림을 사고 남은 돈은 없다.‘
이 문제를 해결하여 봅시다.
입력
한 줄에는 money, price, stick이 있으며
공백으로 나누어져 있습니다.
모두 정수입니다.
출력
먹을 수 있는 아이스크림 개수를 적습니다.
입력의 예1
4500 300 3
출력의 예1
22
입력의 예2
123000 500 10
출력의 예2
273
2. 문제 분석
아이스크림 1개에 300원, 손잡이 3개를 모아 오면 아이스크림 1개를 줍니다.
4500원으로 몇 개의 아이스크림을 먹을 수 있을까요?
손으로(수작업으로) 계산하여 봅시다.
- 4500원으로 300원하는 아이스크림을 산다. 아이스크림 15개, 손잡이 15개 생김
- 15개의 손잡를 아이스크림으로 바꾼다. 아이스크림 5개, 손잡이 5개 생김
- 5개의 손잡이를 아이스크림으로 바꾼다. 아이스크림 1개, 손잡이 2개 남고, 새로 1개 생김
- 남은 손잡이 2개와 새로 생긴 손잡이 1개를 합하여 아이스크림으로 바꾼다. 아이스크림 1개, 손잡이 1개 남음
- 남은 손잡이 1개는 아이스크림과 바꿀 수 없다.
- 전체 아이스크림 개수는 15+5+1+1=22. 그러므로 22개를 먹을 수 있다.
3. 문제해결 방법
순서도입니다.
이해가 될때까지 분석하세요.
4. 코딩하기
위의 순서도를 머리속으로 생각하며 코딩하여 보세요.
더보기
money,price,stick=map(int,input().split())
n=q=money//price #가장 오른쪽의 값을 n과 q에 바인딩
r=0
while q+r>=stick:
q,r=divmod(q+r,stick)
n+=q
print(n)
프로그램 구조를 정리하기가 쉽지않습니다.
수고하셨습니다.
안녕!
728x90
반응형
'알고리듬' 카테고리의 다른 글
[알고리듬] #54 구구단 표 (0) | 2024.04.14 |
---|---|
[알고리듬] #53 for문의 이해 (0) | 2024.04.14 |
[알고리듬] #51 피보나치 수열 (0) | 2024.04.13 |
[알고리듬] #50 삼형제와 아빠 (0) | 2024.04.12 |
[알고리듬] #49 유클리드 법 (0) | 2024.04.12 |