728x90
import sys
hash = {}
number = []
for i in range(8): #1
score = int(sys.stdin.readline())
if score not in hash: #2
hash[score] = i+1
number.append(score) #3
number.sort() #4
res = 0
tmp = []
for i in range(3, len(number)): #5
res += number[i] #6
tmp.append(hash[number[i]] ) #7
print(res)
tmp.sort() #8
print(*tmp)
#1 : 8개의 점수가 주어짐
#2 : 주어진 점수가 hash안에 없을때 키-값으로 인덱스+1을 넣어줌
#3 : 주어진 점수를 리스트에 모두 삽입
#4 : number리스트 정렬
#5 : 인덱스 3번부터 7번까지 반복
#6 : 높은 순위의 5개의 점수 모두 res변수에 더함
#7 : 높은 순위의 5개 점수의 hash값을 tmp리스트에 추가
#8 : 정렬되지 않은 tmp리스트를 정렬 후 출력
더욱 깔끔한 풀이가 있을거라고 생각한다. 다만 문제를 봤을때 hash를 이용해서 풀 수도 있겠다는 생각이 들어서 hash를 이용해서 풀어봤다.
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 2587 파이썬(python): 대표값2 (0) | 2023.09.26 |
---|---|
[백준] 1076 파이썬(python) : 저항 (0) | 2022.10.01 |
[백준] 1934 파이썬(python) : 최소공배수 (0) | 2022.09.28 |
[백준] 1037 파이썬(python) : 약수 (0) | 2022.09.27 |
[백준] 2902 파이썬(python) : KMP는 왜 KMP일까? (0) | 2022.09.26 |