본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Silver 5][Python] 2822번 : 점수 계산

by 빛밤하늘 2021. 5. 3.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

2822번: 점수 계산

8개 줄에 걸쳐서 각 문제에 대한 참가자의 점수가 주어진다. 점수는 0보다 크거나 같고, 150보다 작거나 같다. 모든 문제에 대한 점수는 서로 다르다. 입력으로 주어지는 순서대로 1번 문제, 2번 문

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 입력할 점수들을 저장하는 리스트 변수를 선언합니다.
scores = []

# 문제 8개를 푸므로 8번 반복합니다.
for score_index in range(8):
    # 문제를 풀고 난 뒤의 점수 하나를 입력합니다.
    score = int(input())

    # 입력한 점수를 scores 리스트 변수에 넣어줍니다.
    scores.append(score)

# 점수들을 내림차순으로 정렬한 리스트 변수를 선언합니다.
sorted_scores = sorted(scores, reverse=True)

# 가장 높은 5개의 점수를 합한 변수를 선언합니다.
total = sum(sorted_scores[:5])
# 가장 높은 5개의 점수의 문제 번호를 저장하는 리스트 변수를 선언합니다.
max_scores_index = []

# 가장 높은 점수 5개의 문제 번호를 저장할 것이므로 5번 반복합니다.
for index in range(5):
    # 내림차순된 리스트 변수에서 현재 점수의 문제 번호를 저장하는 변수를 선언합니다.
    score_index = scores.index(sorted_scores[index]) + 1

    # max_scores_index에 위에서 저장한 문제 번호를 넣어줍니다.
    max_scores_index.append(score_index)

# 문제 번호가 증가하는 순서로 출력돼야하므로 오름차순으로 정렬해줍니다.
max_scores_index.sort()

# 참가자의 총점을 출력합니다.
print(total)
# 증가하는 순서로 문제 번호를 출력합니다.
for index in max_scores_index:
    print(index, end=' ')

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글