반응형

프로그래머스에서 매우 간단한 문제들을 풀다가 코틀린의 기본적인 문자열 함수들에 관하여 잘 모르는 것 같아 배운 부분을 정리해보려 합니다.

 

문자열을 정수로 변환(toInt)

코틀린에서는 toInt()를 사용하여 문자열을 정수로 변환할 수 있습니다.

-가 있는 문자열인 경우에도 toInt()를 사용하여 정수로 변환할 시 음의 정수로 변환이 됩니다.

fun main() {
    val s = "1234"
    val negativeS = "-1234"

    println("양의 정수인 s를 정수로 변환 : ${s.toInt()}")
    println("음의 정수인 negativeS를 정수로 변환 : ${negativeS.toInt()}")
    println("s와 negativeS를 정수로 변환 후 더한 값: : ${s.toInt() + negativeS.toInt()}")


}

위의 코드를 실행하면 아래와 같은 결과가 출력됩니다.

첫째 줄에는 "1234"를 정수로 변환한 값인 1234가 출력되었고

둘째 줄에는 "-1234"를 정수로 변환한 값인 -1234가 출력되었습니다.

마지막 줄에는 1234 와 - 1234를 더하여 0이 출력되는 모습을 볼 수 있습니다.

문자열 부분 추출(subString)

코틀린에서는 subString()을 이용하여 문자열 부분만을 추출해올 수 있습니다.

fun main() {
    val s = "12345678"

    // 마지막 인덱스를 알려줌 == s.length -1 과 동일
    println("문자열 s의 마지막 인덱스 : ${s.lastIndex}")

    // substring()의 인자로 range를 pass
    println("문자열 s의 인덱스 0부터 마지막 인덱스 까지 출력 : ${s.substring(0 until s.length)}")

    // substring()의 인자로 부분 추출할 시작 인덱스, 종료 인덱스를 순차적으로 pass
    // [2] ~ [6]까지 종료 인덱스 -1까지
    println("문자열 s의 인덱스 2부터 인덱스 6까지 출력 : ${s.substring(2, s.lastIndex)}")


}

위의 코드를 실행하면 아래와 같은 결과가 출력됩니다.

문자열 s는 "12345678" 로 길이가 8인 문자열입니다.

코틀린에서는 lastIndex를 사용하여 문자열의 마지막 인덱스를 알려줍니다. 문자열의 마지막 인덱스는 문자열의 크기 -1과 동일합니다.

( 문자열.lastIndex == 문자열.length -1 )

첫째 줄에서는 문자열 s.lastIndex를 사용하여 마지막 인덱스인 7을 출력합니다.
둘째 줄에서는 substring을 사용하여 문자열을 부분 추출하여 출력합니다. substring()의 인자로 0 until s.length라는 range를 주어 문자열의 0 ~ 마지막 인덱스까지 출력하도록 하였습니다.(전체 출력)

셋째 줄에서는 substring과 lastIndex를 사용하여 2번째 인덱스부터 6번째 인덱스까지 부분 추출하여 출력을 합니다. 

인자로 2와 s.lastIndex(7)을 주는데 각각 문자열을 부분 추출할 시작 인덱스, 종료 인덱스를 나타냅니다. 종료인덱스 -1까지 부분 추출해줍니다.

 

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기