class Solution {
fun solution(my_string: String, n: Int) = my_string.substring(0, n)
}
class Solution {
fun solution(my_string: String, n: Int): String = my_string.slice(0 until n)
}
substring(0, n)
val text = "Hello"
println(text.substring(0, 3)) // "Hel"
slice(0 until n)
범위(Range)를 기반으로 문자열의 부분 문자열을 반환합니다.
종료 값 n은 포함되지 않습니다. -> until일 경우에만 해당
until은 범위를 나타내는 키워드로, 끝 값이 포함되지 않는 범위를 생성합니다.
val text = "abcd"
println(text.slice(0..2)) // "abc"
val text = "abcd"
println(text.slice(0 until 2)) // "ab"
substring()
과 slice()
의 주요 차이점표현 방식
substring()
은 직접 인덱스를 지정하며,
slice()
는 범위를 지정합니다.
범위 표현 가능성
slice()는 범위 표현(0..2, 0 until 3)을 활용할 수 있어 가독성이 더 좋습니다.
선택 기준
간단한 인덱스 값만 사용할 경우: substring
범위 표현을 활용하거나 가독성을 선호할 경우: slice