[프로그래머스] 등수 매기기
[level 0] 등수 매기기 - 120882
성능 요약
메모리: 9.98 MB, 시간: 0.01 ms
구분
코딩테스트 연습 > 코딩테스트 입문
채점결과
Empty
문제 설명
영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 2차원 정수 배열 score
가 주어질 때, 영어 점수와 수학 점수의 평균을 기준으로 매긴 등수를 담은 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 0 ≤
score
[0],score
[1] ≤ 100 - 1 ≤
score
의 길이 ≤ 10 score
의 원소 길이는 2입니다.score
는 중복된 원소를 갖지 않습니다.
입출력 예
score | result |
---|---|
[[80, 70], [90, 50], [40, 70], [50, 80]] | [1, 2, 4, 3] |
[[80, 70], [70, 80], [30, 50], [90, 100], [100, 90], [100, 100], [10, 30]] | [4, 4, 6, 2, 2, 1, 7] |
입출력 예 설명
입출력 예 #1
- 평균은 각각 75, 70, 55, 65 이므로 등수를 매겨 [1, 2, 4, 3]을 return합니다.
입출력 예 #2
- 평균은 각각 75, 75, 40, 95, 95, 100, 20 이므로 [4, 4, 6, 2, 2, 1, 7] 을 return합니다.
- 공동 2등이 두 명, 공동 4등이 2명 이므로 3등과 5등은 없습니다.
정답
1
2
3
4
5
6
7
8
9
10
11
12
def solution(score):
scores = [i[0] + i[1] for i in score]
tmp = sorted(scores, reverse=True)
score_dict = {}
for idx, val in enumerate(tmp):
if val not in score_dict:
score_dict[val] = idx + 1
answer = [score_dict[i] for i in scores]
return answer
출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges
This post is licensed under CC BY 4.0 by the author.