문제설명
주스 1잔을 만들려면 사과 3개와 당근 1개가 필요합니다. 그런데 키우는 토끼에게 먹이를 주기 위해 사과와 당근 종류에 상관없이 k개를 빼놓으려고 합니다. 주스는 최대한 많이 만들수록 좋습니다.
사과 개수 num_apple과 당근 개수 num_carrot, 토끼에게 줄 먹이 개수 k가 주어질 때 주스를 최대 몇 잔 만들 수 있는지 return 하도록 solution 함수를 작성했습니다. 그러나, 코드 일부분이 잘못되어있기 때문에, 몇몇 입력에 대해서는 올바르게 동작하지 않습니다. 주어진 코드에서 _**한 줄**_만 변경해서 모든 입력에 대해 올바르게 동작하도록 수정하세요.
매개변수 설명
사과 개수 num_apple과 당근 개수 num_carrot, 토끼에게 줄 먹이 개수 k가 solution 함수의 매개변수로 주어집니다.
* 사과 개수 num_apple과 당근 개수 num_carrot는 0 이상 200 이하인 정수입니다.
* 토끼에게 줄 먹이 개수 k는 0 이상 `num_apple+num_carrot` 이하인 정수입니다.
return 값 설명
주스를 최대 몇 잔 만들 수 있는지 return 해주세요.
예시
| num_apple | num_carrot | k | return |
|----|---|---|--------|
| 5 | 1 | 2 | 1 |
| 10 | 5 | 4 | 2 |
예시설명
예시 #1
사과 2개를 먹이로 주면 사과 3개, 당근 1개가 남습니다. 남은 재료로 주스를 1잔 만들 수 있습니다.
예시 #2
사과 2개와 당근 2개를 먹이로 주면 사과 8개, 당근 3개가 남습니다. 남은 재료로 주스를 2잔 만들 수 있습니다.
문제 코드
def solution(num_apple, num_carrot, k):
answer = 0
if num_apple < num_carrot * 3:
answer = num_apple // 3
else:
answer = num_carrot
num_apple -= answer * 3
num_carrot -= answer
i = 0
while k - (num_apple + num_carrot + i) > 0:
if i % 4 == 0:
answer += 1
i = i + 1
return answer
풀이
def solution(num_apple, num_carrot, k):
answer = 0
# 사과, 당근으로 만들 수 있는 주스 개수 구하기
if num_apple < num_carrot * 3:
answer = num_apple // 3
else:
answer = num_carrot
# 주스 만드는데 사용된 사과, 당근 개수 차감
num_apple -= answer * 3
num_carrot -= answer
# 남은 사과, 당근 개수가 토끼에게 줄 먹이 개수 k보다 작으면 주스 개수 1개 차감
i = 0
while k - (num_apple + num_carrot + i) > 0:
if i % 4 == 0:
answer -= 1
i = i + 1
return answer
댓글