인프런 커뮤니티 질문&답변
대표값 질문있습니다.
작성
·
264
0
강의와 관련있는 질문을 남겨주세요.
• 강의와 관련이 없는 질문은 지식공유자가 답변하지 않을 수 있습니다. (사적 상담, 컨설팅, 과제 풀이 등)
• 질문을 남기기 전, 비슷한 내용을 질문한 수강생이 있는지 먼저 검색을 해주세요. (중복 질문을 자제해주세요.)
• 서비스 운영 관련 질문은 인프런 우측 하단 ‘문의하기’를 이용해주세요. (영상 재생 문제, 사이트 버그, 강의 환불 등)
질문 전달에도 요령이 필요합니다.
• 지식공유자가 질문을 좀 더 쉽게 확인할 수 있게 도와주세요.
• 강의실 페이지(/lecture) 에서 '질문하기'를 이용해주시면 질문과 연관된 수업 영상 제목이 함께 등록됩니다.
• 강의 대시보드에서 질문을 남길 경우, 관련 섹션 및 수업 제목을 기재해주세요.
• 수업 특정 구간에 대한 질문은 꼭 영상 타임코드를 남겨주세요!
구체적인 질문일수록 명확한 답을 받을 수 있어요.
• 질문 제목은 핵심 키워드를 포함해 간결하게 적어주세요.
• 질문 내용은 자세하게 적어주시되, 지식공유자가 답변할 수 있도록 구체적으로 남겨주세요.
• 정확한 질문 내용과 함께 코드를 적어주시거나, 캡쳐 이미지를 첨부하면 더욱 좋습니다.
기본적인 예의를 지켜주세요.
• 정중한 의견 및 문의 제시, 감사 인사 등의 커뮤니케이션은 더 나은 강의를 위한 기틀이 됩니다.
• 질문이 있을 때에는 강의를 만든 지식공유자에 대한 기본적인 예의를 꼭 지켜주세요.
• 반말, 욕설, 과격한 표현 등 지식공유자를 불쾌하게 할 수 있는 내용은 스팸 처리 등 제재를 가할 수 있습니다.
안녕하세요.
섹션2 대표값 코드를 만들었습니다.
import sys
#sys.stdin=open("input.txt","rt")
n = int(input())
a = list(map(int,input().split()))
#print(a)
a_avg = round((sum(a)/len(a)),0)
#print(a_avg)
for i in range(len(a)):
a[i] = round(((a[i])-(a_avg)),0)
#print(a)
first = a[0]
checknum = 0
for i in range(len(a)):
if abs(first) < abs(a[i]):
continue
elif abs(first) >= abs(a[i]):
#print(first)
#print(a[i])
if first < a[i]:
first = a[i]
checknum = i
else:
continue
#print(first)
print(int(a_avg), checknum+1)
저는 이런식으로 코드를 만들었는데요.
40%는 성공하고 60%는 실패가 뜹니다.
어디에서 문제가 있는지 잘 모르겠습니다.
강사님이 하신 방법은 좋다고 생각하지만, 제 코드에 어디가 문제있느지를 몰라서 질문드립니다.
답변해주시면 감사합니다.
답변 1
0
안녕하세요^^
위 코드를 수정해 보았습니다.
import sys
#sys.stdin=open("input.txt", "r")
n = int(input())
a = list(map(int,input().split()))
#print(a)
a_avg = round((sum(a)/len(a)),0)
#print(a_avg)
for i in range(len(a)):
a[i] = round(((a[i])-(a_avg)),0)
#print(a)
first = a[0]
checknum = 0
for i in range(len(a)): #이 반복문의 내용을 간결하게 해봤습니다. 스스로 분석해보세요.
if abs(first) > abs(a[i]):
first=abs(a[i])
checknum=i
#print(first)
print(int(a_avg), checknum+1)
참고로 만약 3번 데이터가 오답으로 처리된다면 채점폴더에서 in3.txt 파일을 열어도 보고, in3.txt 입력을 복사해서 input.txt파일에 붙어넣기 하고 디버그 해보면서 코드의 문제점이 뭔지 찾아보기 바랍니다. 그러면 실력이 빠르게 올라갑니다.





