[COS PRO 2급-Python] 장학생 수 구하기

Sunhee·2023년 6월 28일

COS PRO - Python 2급

목록 보기
29/44

[COS PRO 2급-Python] 단어의 오타 수정하기

문제 설명

모 학교에서는 학기가 끝날 때마다 장학금을 줍니다. 이때 장학생이 몇 명인지 구하려고 합니다. 장학금을 주는 조건은 다음과 같습니다.
1. 이번 학기 성적이 80점 이상(100점 만점)이면서 석차가 상위 10% 이내인 학생
2. 이번 학기 성적이 80점 이상이면서 1등인 학생
3. 직전 학기 대비 성적이 가장 많이 오른 학생(여러 명인 경우 해당 학생 전부)
단. 동점인 학생들은 등수가 같으며, 중복 수혜는 불가합니다.
장학생이 몇 명인지 구하기 위해 다음과 같이 프로그램 구조를 작성했습니다.
1. 이번학기 성적을 기준으로 학생별 석차를 구합니다.
2. 아래 조건을 만족하는 학생을 발견하면, 장학생 수를 1 증가시킵니다.
3-1. 이번 학기 성적이 80점 이상이고, 석차가 상위 10% 이내인 경우
3-2. 또는 이번 학기 성적이 80점 이상이고, 석차가 1등인 경우
3-3. 또는 (이번 학기 성적 - 직전 학기 성적)이 2단계에서 구한 값과 같고, 그 값이 양수인 경우
4. 장학생 수를 return합니다.

학생들의 이번 학기 성적을 담고 있는 배열 current_grade와 current_grade의 길이 current_grade_len, 직전 학기 성적을 담고 있는 배열 last_grade와 last_grade의 길이 last_grade_len이 매개변수로 주어질 때, 장학생 수를 return 하도록 solution 함수를 작성하려 합니다.
위 구조를 참고하여 코드가 올바르게 동작할 수 있도록 빈칸에 주어진 func_a,func_b,func_c 함수와 매개변수를 알맞게 채워주세요.



매개변수 설명

학생들의 이번 학기 성적, 지난 학기 성적이 들어있는 배열 current_grade와 current_grade의 길이 current_grade_len, 직전 학기 성적을 담고 있는 배열 last_grade와 last_grade의 길이 last_grade_len이 매개변수로 주어집니다.

  • current_grade_len과 last_grade_len은 같으며, 1 이상 200 이하의 자연수입니다.
  • current_grade와 last_grade의 원소 0 이상 100 이하인 정수입니다.



return 값 설명

장학생 수를 return 해주세요.


예시



내가 쓴 코드!

def solution(current_grade, last_grade):
	rank = func_b(current_grade)
	max_diff_grade = func_c(current_grade, last_grade)
	answer = func_a(current_grade, last_grade, rank, max_diff_grade)
	return answer

0개의 댓글