본문 바로가기
Python3/백준 알고리즘

2022.02.15 [백준] (python 파이썬) 모두의 마블

by ian's coding 2022. 2. 15.
728x90
반응형

 

https://www.acmicpc.net/problem/12845

 

12845번: 모두의 마블

영관이는 게임을 좋아한다. 별의별 게임을 다 하지만 그 중에서 제일 좋아하는 게임은 모두의 마블이다. 어김없이 오늘도 영관이는 학교 가는 버스에서 캐릭터 합성 이벤트를 참여했다. 이번 이

www.acmicpc.net

 


풀이

이 문제는 의도만 파악하면 아주 쉬운 문제이다.

왜냐하면 두 카드를 덧붙일때, 두 카드의 레벨의 합만큼 골드를 얻게 되고 합성된 카드의 레벨은 합성되기 전 레벨이 높은 카드와 같습니다. 여기에서 잘 생각해보면 카드 중 레벨이 가장 높은 카드를 찾아서 그 카드와 모두 더해주면 최대값을 얻을 수 있다.

그래서 코드에는 우선 카드가 들어있는 arr에서 최대값을 찾고 이 최대값을 for문을 돌려 모든 카드와 더해 sum에 더해준다. 이 때, i가 idx와 같으면 continue를 해주었다. 이유는 자기 자신과 더하면 안되기 때문이다. 

1
2
3
4
5
6
7
8
9
10
n=int(input())
arr=list(map(int, input().split()))
idx=arr.index(max(arr))
sum=0
for i in range(len(arr)):
    if i==idx:
        continue
    sum+=arr[idx]+arr[i]
print(sum)
 
cs

 

 

 

 

728x90
반응형

댓글