[프로그래머스] 문자열의 앞의 n글자

devel_liz·2024년 12월 19일
0

코딩테스트

목록 보기
31/45

🗒 문제



📝 나의 문제풀이

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)

    • 문자열에서 특정 시작 인덱스(start)부터 종료 인덱스(end) 전까지 부분 문자열을 반환합니다.
    • 종료 인덱스 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

profile
Android zizon

0개의 댓글

관련 채용 정보