Skip to content

[Algorithm] MVP 다이아몬드 (Easy) #206

Description

@hwangJi-dev

💬 문제

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


💬 Idea

  • 이전 달의 과금액을 저장해둔다.
  • 현재 달의 등급 최고 과금액에서 이전 달 최고 과금액을 빼서 현재 달의 과금액을 산정한다.
  • 이달의 MVP 산정 등급이 D일 경우에는 최고 금액인 다이아몬드 등급 기준액까지만 과금할 수 있으므로 최대 D 기준액만큼 과금한 것으로 판단한다.

💬 풀이

import Foundation
func solution20413(){let _ =Int(readLine()!)!
letmoney=readLine()!.components(separatedBy:.whitespaces).map({Int($0)! })lettier=Array(readLine()!).map({String($0)})varmoneyDict:[String:Int]=["B":0,"S":0,"G":0,"P":0,"D":0]moneyDict["B"]=money[0]-1moneyDict["S"]=money[1]-1moneyDict["G"]=money[2]-1moneyDict["P"]=money[3]-1moneyDict["D"]=money[3]varsumMoney=0varlastMoney=0foriin tier {lettierStandard=moneyDict[i]!
varcurrentMoney= tierStandard - lastMoney
if i =="D"{
currentMoney =moneyDict[i]!
}
lastMoney = currentMoney
sumMoney += currentMoney
}print(sumMoney)}

소요시간 : 36분

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions