새소식

인기 검색어

프로그래머스/Lv.2

[Swift] 압축

  • -
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.02.04
[Swift] 기능개발  (0) 2023.02.04
[Swift] 괄호 회전하기  (0) 2023.02.04
[Swift] 가장 큰 수  (0) 2023.02.04
[Swift] [1차] 캐시  (0) 2023.02.04
Contents

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

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