백준 20413(Python) 풀이 : MVP 다이아몬드 (Easy)



백준 20413 문제

백준 20413


백준 20413 : https://www.acmicpc.net/problem/20413

백준 20413 풀이

등급 기준액보다 1만원 적은 금액에서, 이전 달 금액을 빼주면, 이번 달의 최대 금액이 된다.

# 백준 0128

# 입력
n = int(input())
# 브론즈 -> 다이아 등급 기준액 입력
stdmoney = list(map(int, input().split()))
# MVP 등급 및 최대금액을 담을 리스트
rank = input()
moneylist = [0] #처음에는 최근 1개월 금액이 없으니 0원을 넣어줌

# 3개월
# 30 60 90 150
# B S G

# 랭크 순회하며 최대 금액 탐색
for i in rank:
    mx = 0 #최대 금액
    if i == 'B':
        mx = stdmoney[0] - moneylist[-1] -1
        moneylist.append(mx)
    elif i == 'S':
        mx = stdmoney[1] - moneylist[-1] -1
        moneylist.append(mx)
    elif i == 'G':
        mx = stdmoney[2] - moneylist[-1] -1
        moneylist.append(mx)
    elif i == 'P':
        mx = stdmoney[3] - moneylist[-1] -1
        moneylist.append(mx)
    else: #다이아일 때는 그냥 다이아 기준액만큼이 최대값임
        mx = stdmoney[3]
        moneylist.append(mx)

# 출력
print(sum(moneylist))

        



느낀 점

좀 더 깔끔하게 하는 방법들이 많던데, 나도 점점 그렇게 해봐야 할 것 같다.

CATEGORIES:

Tags:

No Responses

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다