iOS 개발 공부

[Swift] [1차] 다트 게임 본문

코딩테스트/프로그래머스

[Swift] [1차] 다트 게임

물복딱복준복 2023. 2. 10. 15:29
import Foundation

func solution(_ dartResult:String) -> Int {

        let numberList = dartResult.split(whereSeparator: {$0.isLetter || $0 == "#" || $0 == "*"})
        let letterList = dartResult.split(whereSeparator: {$0.isNumber})

        var totalScore = 0

        for (i, (number, letter)) in zip(numberList, letterList).enumerated() {
            var score = 0
            if let number = Int(number) {
                score = letter.contains("D") ? number * number : letter.contains("T") ? number * number * number : number

            }

            if letter.contains("*") {
                score *= 2
            } else if letter.contains("#") {
                score = -score
            }

            if i != 2 {
                if letterList[i + 1].contains("*") {
                    score *= 2
                }
            }

            totalScore += score

        }


        return totalScore
}

 

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[Swift] [1차] 비밀지도  (0) 2023.02.12
[Swift] 3진법 뒤집기  (0) 2023.02.10
[Swift] OX퀴즈  (0) 2023.02.10
[Swift] k의 개수  (0) 2023.02.10
[Swift] n의 배수 고르기  (0) 2023.02.10