새소식

인기 검색어

프로그래머스/Lv.1

[Swift] [1차] 다트 게임

  • -
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
}

 

'프로그래머스 > Lv.1' 카테고리의 다른 글

[Swift] 가장 가까운 같은 글자  (0) 2023.02.12
[Swift] 가운데 글자 가져오기  (0) 2023.02.12
[Swift] 2016년  (0) 2023.02.12
[Swift] [1차] 비밀지도  (0) 2023.02.12
[Swift] 3진법 뒤집기  (0) 2023.02.10
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.