포스트

134. 커피 심부름


1
2
3
4
5
6
7
8
9
10
11
12
import Foundation

func solution(_ order:[String]) -> Int {
    
    var arr : [Int] = []
    var answer : Int = 0
    
    answer = order.map{$0.contains("cafelatte") ? 5000 : 4500}.reduce(0,+)
    

    return answer
}

처음에는 따뜻한것 차가운것 그리고 라테, 아메리카노에 따라 가격이 다른줄 알고 switch case문을 사용하려고 했다.

하지만 문제를 다시 읽어보니 음료의 온도와는 상관없이 라떼와 아메리카노 가격만 나와있고 아무거나는 아메리카노로 정의한다는것을알고, map을 사용하고 라떼를 기준으로 하였다.

그래야 라떼가 아닌경우엔 모두 아메리카로노로 취급하기 때문이었다(Anything의 경우가 있으므로)

그래서 cafelatte가 포함되어있는지를 물어보고 맞으면 5000, 아니면 4500을 리턴하게 하였고 reduce를 통해 한번에 더한값을 리턴하였다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.