[PROGRAMMERS] 등수 매기기 (LV. 0) - Python

2024. 5. 2. 01:49·코딩테스트/프로그래머스

[ 문제 ]

영어 점수와 수학 점수의 평균 점수를 기준으로 학생들의 등수를 매기려고 합니다. 영어 점수와 수학 점수를 담은 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
'코딩테스트/프로그래머스' 카테고리의 다른 글
  • [PROGRAMMERS] 다항식 더하기 (LV. 0) - Python
  • [PROGRAMMERS] 저주의 숫자 3 (LV. 0) - Python
  • [PROGRAMMERS] 무작위로 K개의 수 뽑기 (LV. 0) - Python
  • [PROGRAMMERS] 조건 문자열 (LV. 0) - Python
지원연구소
지원연구소
멋이 나는 컴푸터 에이스로 거듭나기
  • 지원연구소
    지원연구소 공식 블로그
    지원연구소
  • 전체
    오늘
    어제
    • 분류 전체보기 (21)
      • FastAPI (0)
      • Spring (0)
      • Android (0)
      • Flutter (1)
      • Git (0)
      • 코딩테스트 (20)
        • 프로그래머스 (20)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    다항식 더하기
    합성수 찾기
    programmers
    콜라츠 수열 만들기
    조건에 맞게 수열 변환하기 2
    컨트롤제트
    등차수열의 특정한 항만 더하기
    문자열이 몇 번 등장하는지 세기
    조건 문자열
    이차원 배열 대각선 순회하기
    프로그래머스
    저주의 숫자 3
    Android Studio
    수열과 구간 쿼리 2
    최빈값 구하기
    분수의 덧셈
    코딩테스트
    등수 매기기
    무작위로 K개의 수 뽑기
    왼쪽 오른쪽
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
지원연구소
[PROGRAMMERS] 등수 매기기 (LV. 0) - Python
상단으로

티스토리툴바