강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của wlodms04112924
wlodms04112924

câu hỏi đã được viết

Giới thiệu về giải bài toán bằng thuật toán Python (chuẩn bị cho bài kiểm tra viết mã)

4. Giá trị đại diện

비슷한 듯 새로운 풀이법

Viết

·

377

0

선생님 안녕하세요! 저는 강의를 2회독 중인 학생입니다!

현재 문제만 보고 코드를 구현하고 있던 중 if (dif <= big) and (score<x)를 한번에 걸러주는 조건문을 생각해봤습니다.

어차피 tmp<=min으로 조건문을 하면

tmp ==min인 경우에 불필요하게 'big = temp'를 넣는 과정 외에는 차이가 없다고 생각했기 때문입니다.

실제로 문제에 나와있는 입력값을 넣었을 때도 같은 경우가 나왔습니다.

하지만 채점을 해보니, 테스트 케이스 1번 부터 틀렸었습니다.

제 코드에 어떤 논리적 오류가 있는지 알고 싶습니다...! 

다음은 제 코드입니다.

-----------------------------------------------------------------------------------------------------------

n = int(input())

arr = list(map(int, input().split()))

big = 217300000000

ave = int(sum(arr)/n + 0.5)

score = 0

res = 0

for idx, x in enumerate(arr):

    tmp = abs(ave-x)

    if (tmp <= big) and (score < x):

        big = tmp

        score = x

        res = idx+1

else:

    print(ave, res)

enumeratepython코테 준비 같이 해요!

Câu trả lời 1

0

wlodms04112924님의 프로필 이미지
wlodms04112924
Người đặt câu hỏi

안녕하세요. 계속 제 코드를 훑어보니, 제 코드는 평균과 완전히 동일한 점수를 가진 학생을 배제해버린다는 논리적 오류를 발견했습니다!

감사합니다!

Hình ảnh hồ sơ của wlodms04112924
wlodms04112924

câu hỏi đã được viết

Đặt câu hỏi