inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

대표값 질문있습니다.

267

깨끗한 장어

작성한 질문수 4

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%는 실패가 뜹니다.

어디에서 문제가 있는지 잘 모르겠습니다.

강사님이 하신 방법은 좋다고 생각하지만, 제 코드에 어디가 문제있느지를 몰라서 질문드립니다.

답변해주시면 감사합니다.

python 코테 준비 같이 해요!

답변 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파일에 붙어넣기 하고 디버그 해보면서 코드의 문제점이 뭔지 찾아보기 바랍니다. 그러면 실력이 빠르게 올라갑니다.

기존에 윈도우 10으로 잘 써왔는데 윈도우 11로 바꾸고 나서 채점이 안됩니다.

0

76

2

스택에서 ')'을 만나는 경우

0

78

3

문제가 어디있나요?

0

64

2

변수 or 함수명

0

61

1

침몰하는 타이타닉 문제 질문입니다

0

55

1

AA.py 책점 에러

0

57

1

오늘 구매했는데 파이썬 자료구조 궁금한거 있으면 답변이 잘 될까요.

0

111

2

5.동전분배하기 문제 밑에코드도 정답이될까요?

0

110

1

아나그램 비교 코드

0

116

2

AA.PY파일 복사 후 채점 진행할때 오류 발생합니다.

0

160

2

문제 링크가있나여?

0

147

2

채점기 Time Limit Exceeded 오류 문의

1

163

2

동적계획법은 사용하는 문제

0

126

2

제 코드 좀 봐주세요

0

148

1

예외가 존재할 가능성?

0

97

1

3번이 안풀립니다

0

93

0

5번 틀림

0

113

0

오류원인?

0

98

0

리스트 선언

0

106

1

침몰하는 타이타닉(그리디) 문제 질문

0

109

1

알고리즘

0

69

1

코딩테스트

0

92

1

DFS 순서 질문드립니다.

0

124

2

left, right를 사용한 풀이법에 대한 질문입니다

0

91

1