인프런 커뮤니티 질문&답변
def Check(capacity):에서 질문이 있습니다.
작성
·
239
0
영상에 보여진 함수는 이것입니다.
def Count(capacity):
cnt = 1
plus = 0
for x in music:
if plus + x > capacity:
cnt += 1
plus = x
else:
plus += x
return cnt
그리고 제가 스스로 만들어 봤던 함수는 이것인데요.
def Check(capacity):
cnt = 1
plus = 0
for x in music:
plus += x
if plus == capacity:
cnt += 1
plus = 0
elif plus > capacity:
cnt += 1
plus = x
return cnt
검토를 해 보았는데 몇 문제는 맞췄으나 3개정도는 답이 1씩 차이가 났습니다.
예를 들어서 예제로 나와있는 9 3 (1 2 3 4 5 6 7 8 9)를 넣으면 답은 17이지만 제가 만든 함수로 계산하면 18이 나옵니다.
저 두 함수를 만드는 과정이 저는 같다고 생각했는데, 어디가 잘못된 건지 알려주시면 감사합니다 ㅜㅜ
답변 1
2
plus와 capacity가 같았을 때는 현재 음악을 현재 담고 있는 DVD에 담을 수 있다는 것입니다. cnt를 증가시키면 안됩니다.
9 3 (1 2 3 4 5 6 7 8 9) 입력을 가지고 본인 코드를 디버그해보세요. 8과 9를 처리할 때 cnt카운팅이 논리적으로 맞는지 확인해보시기 바랍니다.





