본문 바로가기
프로그램/Python 1000제

Python 40제] 합격자 구하기

by 건티 2022. 3. 29.
728x90

출처 : 반크뉴스

 

문제]

S대학교는 수능 과목(국어, 수학, 영어, 탐구) 중 점수가 가장 높은 과목과 점수가 가장 낮은 과목의 평균을 계산해서 평균이 높은 순서대로 학생을 뽑는다고 한다.

S대학교에 지원하려는 학생 2명의 수능 점수를 각각 입력받고 리스트에 저장한다.

합격자는 한명뿐이라고 할 때, 두 학생의 평균과 S대학교에 합격한 사람을 출력하시오.

(단, 평균을 구할 때 소수점은 버리며, 동점일 경우 모든 과목의 점수의 합이 높은 사람이 합격한다.)

 

[입력 예시 1]
90               -> 학생1 국어 점수
75               -> 학생1 수학 점수
80               -> 학생1 영어 점수
85               -> 학생1 탐구 점수
70               -> 학생2 국어 점수
100             -> 학생2 수학 점수
60               -> 학생2 영어 점수
90               -> 학생2 탐구 점수

[출력 예시 1]
Student1 : 82
Student2 : 80
Student1 Admitted

[입력 예시 2]
65               -> 학생1 국어 점수
50               -> 학생1 수학 점수
70               -> 학생1 영어 점수
75               -> 학생1 탐구 점수
30               -> 학생2 국어 점수
95               -> 학생2 수학 점수
80               -> 학생2 영어 점수
85               -> 학생2 탐구 점수

[출력 예시 2]
Student1 : 62  260
Student2 : 62  290
Student2 Admitted

 

참고풀이]

#지원학생 2명의 수능4과목의 점수를 입력받는다.
#수능4과목별 리스트를 선언하여 초기값을 넣는다.
#학번,국어,수학,영어,탐구,최대값,최소값,평균,총점,순위, 동점여부 순
Score=[[0 for i in range(11)] for j in range(2)]

#점수를 입력받고 학생별 최대값, 최소값, 평균, 총점을 구한다.
for i in range(2):
    Score[i][0]=i+1 #학생번호 입력
    for j in range(1,5):
        Score[i][j]=int(input())

    #학생별 최대값, 최소값, 평균, 총점을 구한다.
    Score[i][5]=max(Score[i][1:5]) #최대점수를 구한다
    Score[i][6]=min(Score[i][1:5]) #최소점수를 구한다
    #최대점수+최소점수의 평균을 구한다
    Score[i][7]=(Score[i][5]+Score[i][6])//2 
    Score[i][8]=sum(Score[i][1:5]) #모든과목의 합을 구한다.

#순위를 구한다.
for i in range(2):
    Score[i][9]=1
    for j in range(2):
        if Score[i][7]<Score[j][7]:
            Score[i][9]+=1
        elif Score[i][7]==Score[j][7]:
            Score[i][10]=1
            if Score[i][8]<Score[j][8]:
                Score[i][9]+=1

#결과출력
print("\n")
for i in range(2):
    if Score[i][10]==1:
        print(f"Student{Score[i][0]} : {Score[i][7]} {Score[i][8]}")
    else:
        print(f"Student{Score[i][0]} : {Score[i][7]}")

for i in range(2):
    if Score[i][9]<=1:
        print(f"Student{Score[i][0]} Admitted")

 

참고풀이 결과]

 

 

 

대한민국의 아름다운 영토, 독도의 여름

 

 

반응형

댓글