티스토리 뷰
문제 설명
문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string의 앞의 n글자로 이루어진 문자열을 return 하는 solution 함수를 작성해 주세요.
제한 조건
my_string은 숫자와 알파벳으로 이루어져 있습니다.
1 ≤ my_string의 길이 ≤ 1,000
1 ≤ n ≤ my_string의 길이
내 답안
func solution(_ my_string:String, _ n:Int) -> String {
return String(my_string.prefix(n))
}
접근 방법
- 처음부터 n번째까지 반환하는 함수 사용
다른 풀이
func solution(_ my_string:String, _ n:Int) -> String {
return my_string.map{String($0)}[...(n-1)].joined()
}
- map으로 문자열 배열로 변환
- 슬라이싱 [...]을 통해 n개의 요소를 선택하고 joined로 합침
func solution(_ my_string:String, _ n:Int) -> String {
let index = my_string.index(my_string.startIndex, offsetBy: n)
return String(my_string[my_string.startIndex..<index])
// 똑같은 부분이 많아 가독성이 떨어지니까
// return String(my_string[..<index]) 라고 해도 괜찮았을 것 같다
}
- String.index(문자열의 시작 인덱스, offsetBy: 구하려고 하는 인덱스의 숫자)로 인덱스를 구해서 슬라이싱을 통해 반환
func solution(_ my_string:String, _ n:Int) -> String {
let subStr1 = my_string.substring(to: my_string.index(my_string.startIndex, offsetBy: n))
return subStr1
}
알게 된 것
- substring(to:)는 swift4 에서 삭제되었다!
'코딩테스트' 카테고리의 다른 글
Lv.0 swift n개 간격의 원소들 (0) | 2024.03.20 |
---|---|
Lv.0 swift 수 조작하기 (0) | 2024.03.20 |
Lv.0 swift 제곱수 판별하기 (0) | 2024.03.18 |
Lv.0 swift 모음 제거 (0) | 2024.03.18 |
Lv.0 Swift 문자 반복 출력하기 (0) | 2024.03.18 |
최근에 올라온 글