한 걸음씩

[백준][python] 1546 평균 본문

BOJ

[백준][python] 1546 평균

winter17 2023. 1. 25. 15:22

https://www.acmicpc.net/problem/1546

 

1546번: 평균

첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보

www.acmicpc.net

풀이 과정

1. 첫 번째 줄에 과목 개수 N을 입력받는다

2. score라는 변수로 점수를 공백으로 구분하여 입력을 받는다

3. score에서 max값을 구한 후 big_score 변수에 저장한다

4. score변수를 for loop을 사용하여 요소를 하나씩 꺼낸 후 new_list라는 새 변수 리스트에 append 하는데

    그전에 문제에서 요구하는 대로  score에서 나온 요소 i를 big_score로 나누고 100으로 곱해주고 append 한다

    - 처음에 입력받은 수에서 최댓값인 점수로 다른 점수들과 같이 계산을 해줘야 한다!!

5. new_list의 합은 sum함수, 개수는 len함수를 사용해서 평균을 낸다

N = int(input())
score = list(map(int, input().split()))
big_score = max(score)
new_list = []
for i in score:
    new_list.append(i / big_score * 100)


print(sum(new_list)/len(new_list))

리뷰

수업 때 이 문제를 과제로 받았을 때는 못 풀어서 넘겼다가 이후에 다시 시도해 봤는데 어려운 문제가 아니었다

평균 구하는 문제이지만 중간과정에서 요구사항이 늘어났을 뿐 문제만 잘 읽어보면 쉽게 풀 수 있는 문제!

 

'BOJ' 카테고리의 다른 글

[백준][python] 2908 상수❓  (0) 2023.01.25
[백준][python] 3052 나머지  (0) 2023.01.25
[백준][python] 1157 단어공부  (0) 2023.01.25
[백준][python] 10809 알파벳 찾기 ✅  (0) 2023.01.25
[백준][python] 2675 문자열 반복  (0) 2023.01.24