인프런 커뮤니티 질문&답변

zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

제주코딩베이스캠프 Code Festival: Python 100제

37번 ~ 44번 문제풀이

40번질문입니다.

작성

·

270

2

40번문제 질문있습니다.

total=0

count=0

limit=int(input("제한값을 입력:"))

n=int(input("몸무게 몇명 입력"))

for i in range(n):

    friend=int(input("몸무게 입력"))

    if total<=limit:

        total+=friend

        count+=i#i가 인덱스번호이기 떄문에 0부터 센다. 따라서 i로 세두어도 괜찮음

print(count)

선생님께서 강의하신 코드로 돌렸을 떄 아래와 같이 정답부분이 오류가 납니다.

혹시 count+=1로 해야 하는거 아닌가요?

제한값을 입력:3

몸무게 몇명 입력2

몸무게 입력1

몸무게 입력1

1

답변 2

1

total = 0
count = 0
limit = int(input("제한값을 입력:"))
n = int(input("몸무게 몇명 입력:"))
for i in range(n):
    friend = int(input("몸무게 입력:"))
    if total <= limit:
        total += friend
        count += i #i가 인덱스번호이기 떄문에 0부터 센다. 따라서 i로 세두어도 괜찮음
print(count)

위 코드는 count += 0, count += 1, count += 2이런식으로 이상해집니다.

그래서 바꾸려면 2가지방법이 생각났습니다.

1: ekek님처럼 count += 1로 바꾼다.

2: count = i로 복합대입대신 대입한다.

하지만 2번째 방법은 50 5 20 20 20 20 20와 같이 제한을 넘을경우는 되지만 3 2 1 1같이 넘지않을경우는 실패하네요.

0

Hojun Lee님의 프로필 이미지
Hojun Lee
지식공유자

답변이 늦어 죄송합니다.

답안지에 오류가 있는 것을 확인하였고 재녹화를 하였습니다.

차주 중으로 수정된 영상까지 모두 업로드 될 예정입니다.

다시 한 번 답변이 늦어 죄송하다는 말씀을 올립니다.

감사합니다.

수정코드

제한무게 = float(input())
친구수 = int(input())
친구몸무게 = []
전체몸무게 = 0
제한수 = 0
비교 = True

for i in range(친구수):
    친구몸무게.append(float(input()))
    전체몸무게 += 친구몸무게[i]
    if 전체몸무게 > 제한무게:
        if 비교:
            비교 = False
            제한수 = i
if 제한수 == 0 and 친구몸무게[0] <= 제한무게:
    print(len(친구몸무게))
else:
    print(제한수)
zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

질문하기