티스토리 뷰

풀이

  • 단순 구현문제
  • firstIndex로 값이 들어 있음과 더불어 값이 있을때 위치를 알 수 있음
  • 값이 없는 경우는 nil로 나오기에 if문으로 분기 처리 해주기 편함

전체 코드

import Foundation

func solution(_ msg:String) -> [Int] {
  let msg = msg.map{ String($0) }
  var msgIdx = 0
  var dic: [String] = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"]
  var str: String = ""
  var idx: Int = -1
  var result: [Int] = []
    
    while msgIdx < msg.count {
      str = str + msg[msgIdx]
      
      if let firstIndex = dic.firstIndex(of: str) {
        idx = firstIndex
        msgIdx += 1
      }else {
        result.append(idx + 1)
        idx = -1
        dic.append(str)
        str = ""
      }
    }
  if let firstIndex = dic.firstIndex(of: str) {
    result.append(firstIndex+1)
  }
    return result
}

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/01   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함