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", "가", "나", "다", "라"]