티스토리 뷰

📚 문제

입력

출력

입력 예시

3
40 30 30

출력 예시

140

🧑🏻‍💻 풀이 과정

  • 입력받은 levels를 내림차순 정렬하자.
  • levels[0]levels[1] 중, 큰 값을 max_level에 저장해놓자. (첫 번째 값이 가장 크긴하겠지만..)
  • levels[0]levels[1]의 합을 gold에 저장해놓자.
  • 2부터 level의 길이까지 반복하면서, 저장 해놓은 max_level과 현재 레벨의 합을 gold에 더하자.
def marble(levels):
    # levels[0]과 levels[1] 중, 큰 값을 저장해놓자.
    max_level = max(levels[0:2])
    # levels[0]과 levels[1]의 합 저장.
    gold = sum(levels[0:2])
    # 처음 두 레벨을 제외하고, 2부터 level의 길이까지 반복하면서..
    for i in range(2, len(levels)):
        # 최대 레벨 + 현재 레벨
        gold += (max_level + levels[i])

    return gold


n = int(input())
print(marble(sorted(list(map(int, input().split())), reverse=True)))
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함