티스토리 뷰

📚 문제

입력

출력

입력 예시

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/04   »
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 29 30
글 보관함