Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Star_project

2. 자료구조와 알고리즘 입문 4. 대표값 본문

코딩테스트/Python

2. 자료구조와 알고리즘 입문 4. 대표값

star빛 2022. 7. 11. 17:19
4.대표값
import sys
sys.stdin=open("pythonalgorithm/섹션 2/4. 대표값/in1.txt", "rt")
n = int(input())
a=list(map(int, input().split()))
ave=round(sum(a)/n)
min=2147000000 # 정수형의 가장 큰 값 4byte 32비트 부호 정수형의 최대값
for idx, x in enumerate(a):
    tmp=abs(x-ave)
    if tmp<min:
        min=tmp
        score=x
        res=idx+1
    elif tmp==min:
        if x>score:
            score=x
            res=idx+1
print(ave, res)
  • 2,147,483,647은 컴퓨팅에서 32비트 부호 정수형의 최댓값이기도 하다. 그래서 일반적인 CPU위에서 작동하는 많은 프로그래밍 언어에서 변수 int로 선언될 수 있는 최댓값으로 지정되어 있다.
  • 바로 파이썬의 내장 함수인 enumerate()를 이용하면 인덱스(index)와 원소를 동시에 접근하면서 루프를 돌릴 수 있다. for 문의 in 뒷 부분을 enumerate() 함수로 한 번 감싸주기만 하면 된다.
'''
대표값 문제 오류 수정
round는 round_half_even 방식을 택한다.
'''
a=65.5
print(round(a+0.5))