비슷한 듯 새로운 풀이법
미해결
파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
선생님 안녕하세요! 저는 강의를 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)
- enumerate
- python
- 코테 준비 같이 해요!
김태희
댓글 1
좋아요 0
조회수 403





