728x90
출처 : 반크 독도 포스터
문제]
길이 8m의 막대를 3명이서 1m단위로 자를려고 할 때 몇 번이면 1m 막대가 될 수 있는지 프로그램을 작성하시오. (단, 하나의 막대는 한 사람만 자를 수 있다.)
8 -> 4, 4 로 자른다 1번
4, 4 -> 2, 2, 2, 2로 자른다 2번
2,2,2 -> 1,1,1,1,1,1로 자른다 3번
2 -> 1,1로 자른다 4번
그러므로 총 4번을 자르면 8m 막대가 1m막대로 만들수 있게 된다.
입력 예시1]
20, 3
출력 예시1]
8
입력 예시2]
100, 5
출력 예시2]
22
참고풀이]
#x: 막대기 총수
#y: 막대기 자를 인원수
#n: 현재 자를 막대기 개수
def cutDef(x,y,n):
if n>=x: #자를 막대기가 1m가 되면 작업을 끝낸다.
return 0
elif n<y: #인원수로 잘라내 막대기 수
return 1+cutDef(x,y,n*2)
else: #인원수가 적으면 현막대기수에 인원수를 더한다.
return 1+cutDef(x,y,n+y)
#main 부분
a,b=map(int,input().split(' '))
print(cutDef(a,b,1))
참고풀이 결과]
대한민국의 아름다운 영토, 독도
반응형
'프로그램 > Python 1000제' 카테고리의 다른 글
Python 25제] 2021년 한국정보올림피아드 1차 대회 1교시 중등부 사고력 문제 1. 다른 모자 쓰기 (0) | 2021.10.22 |
---|---|
Python 24제] USACO 2020 DECEMBER CONTEST, BRONZE PROBLEM 1. DO YOU KNOW YOUR ABCS? (0) | 2021.10.07 |
Python 22제] 파워 유저를 위한 파이썬 EXPRESS] p180 CHAPTER 4. 도전문제 (0) | 2021.09.24 |
Python 21제] 파워 유저를 위한 파이썬 EXPRESS] p170 CHAPTER 4. 도전문제 (0) | 2021.09.17 |
Python 20제] 2020년도 한국정보올림피아드 1차 대회 초등부/고등부 2교시 문제1. 박 터뜨리기 (0) | 2021.09.17 |
댓글