Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 조건에 맞게 수열 변환하기 2
- 수열과 구간 쿼리 2
- 다항식 더하기
- 평행
- 문자열이 몇 번 등장하는지 세기
- 등수 매기기
- 콜라츠 수열 만들기
- 합성수 찾기
- 최빈값 구하기
- 코딩테스트
- 프로그래머스
- 이차원 배열 대각선 순회하기
- 컨트롤제트
- programmers
- 조건 문자열
- OX퀴즈
- 저주의 숫자 3
- 소인수분해
- Android Studio
- 분수의 덧셈
- flutter
- 왼쪽 오른쪽
- 무작위로 K개의 수 뽑기
- 등차수열의 특정한 항만 더하기
Archives
- Today
- Total
지원연구소 공식 블로그
[PROGRAMMERS] 등수 매기기 (LV. 0) - Python 본문
[ 문제 ]
영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 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. 평균 값을 담는 리스트 avg, 정렬된 avg 리스트를 담는 리스트 avg_s, 등수를 담는 리스트 result 선언
2. score 리스트를 반복하면서 평균 값을 avg 리스트에 담음
3. avg_s에 avg를 내림차순으로 정렬한 리스트를 할당
4. avg 리스트를 반복하면서 해당 값이 avg_s에서의 인덱스에 1을 더한 값 (등수)를 result 리스트에 추가
5. result 반환
[ solution.py ]
def solution(score):
avg = []
avg_s = []
result = []
for i in score:
avg.append(sum(i) / 2)
avg_s = sorted(avg, reverse=True)
for i in avg:
result.append(avg_s.index(i) + 1)
return result
> 🌻피드백은 언제나 환영입니다🌻 <
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[PROGRAMMERS] 다항식 더하기 (LV. 0) - Python (0) | 2024.05.02 |
---|---|
[PROGRAMMERS] 저주의 숫자 3 (LV. 0) - Python (0) | 2024.05.02 |
[PROGRAMMERS] 무작위로 K개의 수 뽑기 (LV. 0) - Python (0) | 2024.05.02 |
[PROGRAMMERS] 조건 문자열 (LV. 0) - Python (0) | 2024.05.02 |
[PROGRAMMERS] 왼쪽 오른쪽 (LV. 0) - Python (0) | 2024.05.02 |