[백준] 1546: 평균 - python[파이썬]

다인·2024년 7월 25일

백준

목록 보기
16/112
post-thumbnail

1. 반복문

N = int(input())
arr = list(map(int, input().split()))
max = 0
sum = 0

for i in range(N):
    sum += arr[i]
    if arr[i] > max:
        max = arr[i]
    
print(sum / N / max * 100)

2. 반복문 대신 내장함수

N = int(input())
arr = list(map(int, input().split()))
    
print(sum(arr) / N / max(arr) * 100)

내가 직접 반복문을 돌리지 않고 내장함수를 사용함으로써 코드가 아주 간단해졌다.

3. 새로운 점수를 담는 리스트 생성

N = int(input())
arr = list(map(int, input().split()))
new_arr = []
max = max(arr)

for i in range(N):
    new_arr.append(arr[i] / max * 100)
    
print(sum(new_arr) / N)

문제 의도에 맞게 정직하게 새로운 리스트를 생성해서 달라진 점수를 담았다. 그리고 그 배열의 평균을 반환했다.

비교

아래서부터 1~3 코드이다. 놀랍게도 메모리와 시간이 모두 완전히 동일하다.
그래서 작성하기 가장 편한 2번이 나한테는 젤 좋은 방법으로 느껴졌다.

0개의 댓글