[Swift] 가운데 글자 가져오기 - 프로그래머스 Lv 1

Ryan (Geonhee) Son·2021년 7월 6일
0

Swift로 프로그래머스 가운데 글자 가져오기 문제를 해결하며 얻은 지식을 정리합니다.

문제로 이동

풀이

func getString(from s: String, at index: Int) -> String {
    return String(s[s.index(s.startIndex, offsetBy: index)])
}

func solution(_ s:String) -> String {
    var result: String = ""
    
    if s.count % 2 == 0 {
        result = getString(from: s, at: (s.count - 1) / 2) + getString(from: s, at: s.count / 2)
    } else {
        result = getString(from: s, at: s.count / 2)
    }
    
    return result
}

참고할만한 풀이

func solution(_ s:String) -> String {
    if Array(s).count % 2 == 0 {
        return String(Array(s)[(s.count/2)-1...(s.count/2)])
    } else {
        return String(Array(s)[s.count/2])
    }
}

Array의 이니셜라이저를 통해 String을 변환하면 String의 각 요소가 Character로 변환되어 [Character] 타입으로 변환된다는 점을 이용한다.

let someString = "abcd가나다라"
print(type(of: Array(b))) // prints Array<Character>
print(Array(b)) // prints ["a", "b", "c", "d", "가", "나", "다", "라"]

사용한 개념

  • Subscripts
profile
합리적인 해법 찾기를 좋아합니다.

0개의 댓글