본문 바로가기

앱 개발/Algorithm

핸드폰 번호 가리기

< 문제 27번 >

 

 전화번호가 문자열 phone_number로 주어졌을 때, 뒷 4자리를 제외한 나머지 숫자를 전부 *로 가린 문자열을 리턴하는 함수를 완성해주세요.

 

 

< solution >

 

class Solution {
    fun solution(phone_number: String): String {
        require(phone_number.length in 4..20)

 

        // 첫 자리부터 끝 4자리 전의 자리까지의 숫자들을 뽑아서 *로 바꾼 후에 문자열로 변환         
        val hiddenDigits = phone_number.substring(0, phone_number.length - 4).map { '*' }.joinToString("")

 

        // 가리지 않은 뒷 4자리를 lastDigits에 할당

        val lastDigits = phone_number.takeLast(4)

 

        // 가린 부분과 가리지 않은 부분을 합한 문자열을 반환

        return hiddenDigits + lastDigits
    }
}

 

--------------------------------------------------------------------------------

 

< takeLast > - 문자열 또는 컬렉션에서 사용

 

fun main() {
    val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)
    val result = list.takeLast(3) // 마지막 3개 요소를 반환
    println(result) // [8, 9, 10]
}

 

 

<substring> https://lionbae.tistory.com/entry/z

 

<joinToString> https://lionbae.tistory.com/entry/joinToString-sortedDescending

728x90