새소식

인기 검색어

프로그래머스/Lv.2

[Swift] 압축

  • -
import Foundation

func solution(_ msg:String) -> [Int] {
    var i = 0
    var str = ""
    var msg = Array(msg)
    var result = [Int]()
    var dict: [String: Int] = ["A": 1, "B": 2, "C": 3, "D": 4, "E": 5, "F": 6, "G": 7, "H": 8, "I": 9, "J": 10, "K": 11, "L": 12, "M": 13, "N": 14, "O": 15, "P": 16, "Q": 17, "R": 18, "S": 19, "T": 20, "U": 21, "V": 22, "W": 23, "X": 24, "Y": 25, "Z": 26]

    while i < msg.count {
        let c = String(msg[i])
        var tmp = str + c
        
        guard let _ = dict[tmp] else {
            dict[tmp] = dict.count + 1
            result.append(dict[str]!)
            str = ""
            continue
        }
        str += c
        i += 1
    }
    
    result.append(dict[str]!)

    return result
}

 

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

[Swift] 택배 배달과 수거하기  (0) 2023.03.13
[Swift] 귤 고르기  (0) 2023.03.13
[Swift] 주차 요금 계산  (0) 2023.02.07
[Swift] 타겟넘버  (0) 2023.02.07
[Swift] k진수에서 소수 개수 구하기  (0) 2023.02.05
Contents

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

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