[python] enemurate 함수

유얌얌·2024년 7월 9일

알고리즘

목록 보기
8/25

enemurate 함수

반복 가능한 객체를 인자로 받아서 해당 객체의 요소들을 순회하면서,
각 요소의 인덱스을 순서쌍으로 반환

▪️ 주로 for과 함께 사용

사용법

enumerate(iterable, start=0)
iterable : 반복가능한 객체
start : 시작 인덱스(기본값 0)

예시

fruits = ["사과", "바나나", "포도"]
for idx, x in enumerate(fruits):
	print(idx, x) 
 0 사과
 1 바나나
 2 포도

✨ 참고 알고리즘 문제

평균값과 평균에 가장 가까운 점수를 찾는 문제
가까운 점수가 여러개라면, 더 큰 점수, 더 작은 번호

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

# avg = round(sum(scores) / n)
avg = int((sum(scores) / n)+0.5)  # 사사오입

com = 2147000000
score = 0
num = 0

for idx, x in enumerate(scores):
    gap = abs(avg-x)
    if gap < com:
        com = gap
        score = x
        num = idx
    elif gap == com:
        if score < x:
            score = x
            num = idx
print(avg, num+1)
profile
조금씩이라도 꾸준하게

0개의 댓글