강의

멘토링

커뮤니티

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

혜니콜님의 프로필 이미지
혜니콜

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

4. 대표값

2,3,4번 테스트케이스를 통과를 못하네요ㅜㅜ

작성

·

206

0

안녕하세요 선생님

2,3,4번 테스트 케이스를 통과하지 못하는 이유가 무엇일까요?

수기로 풀어봤을때도 답이 맞는것같은데...

강의 듣기전에 미리 풀어봐서 enumerate를 사용전이라 list를 이용해서 풀었습니다

이렇게 풀이해도 맞지 않나요?ㅜㅜ 몇시간 고민해도 잘 모르겠어서 질문 올립니다

import sys
sys.stdin=open("input.txt","rt")

n= int(input())
score=list(map(int,input().split()))

#print(sum(score))

avg=int(sum(score)/n+0.5) 

#print(avg)

min=[0,float('inf')]
sub=[]

# 평균-점수의 차를 구하는 for
for i in score:    
    sub.append(abs(avg-i))

 #최소값 찾는 for
for i in range(len(sub)):
    if min[1]>sub[i]:
        min=[i,sub[i]]

#중복 찾기
for i in range(len(sub)):
    if sub[i]==min[1]:  #최소값이랑 같다면
        if score[i]>score[min[0]]: #원래 점수 비교 후 더 크면
            min[0]=i
            continue
        if score[i]==score[min[0]]: # 원래 점수도 같다면
            if i<min[0]:    #빠른번호가 선
                min[0]=i
                continue

#print(min)
print(score[min[0]],min[0]+1)

답변 1

2

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

문제의 출력설명을 잘 읽어보세요. 

문제에 있는 입력예제를 넣고 출력해 보면 바로 알 수 있을 겁니다.

혜니콜님의 프로필 이미지
혜니콜

작성한 질문수

질문하기