반응형
문제 출처
https://school.programmers.co.kr/learn/courses/30/lessons/120882
문제
영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score
가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요.
내 답안
def solution(score):
# 각 학생의 영어와 수학 점수의 평균 계산
avg = [sum(i)/2 for i in score]
# 평균을 기준으로 점수가 높은 순서대로 정렬
sorted_avg = sorted(avg, reverse=True)
answer = [] # 최종 등수 리스트
for i in avg:
# 현재 평균 점수의 등수 계산 (index 함수는 0부터 시작하므로 1을 더해줌)
answer.append(sorted_avg.index(i) + 1)
return answer
결론 및 느낀점
평균을 구하는 과정은 어렵지 않았다. 하지만 그 이후의 등수 매기기는 어떻게 순서대로 나타낼 수 있을지, 그리고 공동 등수는 어떻게 똑같이 나타낼 수 있는지 고민하는 시간이 오래 걸렸다. sorted()
함수와 index()
메서드를 사용해서 순위를 매길 수 있었다.
반응형
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / Python] 안전지대 (0) | 2025.05.31 |
---|---|
[프로그래머스 / Python] OX퀴즈 (0) | 2025.05.31 |
[프로그래머스 / Python] 영어가 싫어요 (0) | 2025.05.31 |
[프로그래머스 / Python] 가까운 수 (0) | 2025.05.31 |
[프로그래머스 / Python] 소인수분해 (0) | 2025.05.31 |